gpt4 book ai didi

python - 部署到Google云函数: Error message: 'main'

转载 作者:行者123 更新时间:2023-12-01 00:37:41 27 4
gpt4 key购买 nike

我将 Python 应用部署到 Google Cloud Functions 并收到了一条非常模糊的错误消息:

$ gcloud functions deploy parking_photo --runtime python37  --trigger-http
Deploying function (may take a while - up to 2 minutes)...failed.
ERROR: (gcloud.functions.deploy) OperationError: code=3, message=Function failed on loading user code. Error message: 'main'

我不知道出了什么问题。四处搜寻没有结果。有人可以帮忙吗?

我相信我的代码布局是正确的:

$ tree
.
├── main.py
├── poetry.lock
├── pyproject.toml
├── README.rst
├── requirements.txt
└── tests
├── __init__.py
└── test_burrowingowl.py

我的 main.py 文件有一个与函数名称匹配的函数:

import operator
from datetime import datetime

import logbook
from flask import Request, abort, redirect
from pydantic import ValidationError
from pydantic.dataclasses import dataclass
from google.cloud import storage
from pytz import timezone


logger = logbook.Logger(__name__)
storage_client = storage.Client()


@dataclass
class Form:
bucket: str = ...
parkinglot: str = ...
space_id: int = ...
tz: str = ...


def parking_photo(request: Request):
# Some code
return

更新

谢谢您的回答。当我有一段时间没有收到 StackOverflow 的通知时,这个话题就在我的视线之外了。

去年,我通过放弃使用 dataclass 来解决这个问题。当时,Google 声称支持 Python 3.7,但实际上并不支持,这就是 dataclass 不起作用的原因。

当您尝试重现此问题时,Google 可能已经修复了 Python 3.7 兼容性。

最佳答案

您的函数很可能引发 FileNotFound 错误,并且 Cloud Functions 将此解释为 main.py 不存在。一个会导致相同错误的最小示例:

$ cat main.py
with open('missing.file'):
pass

def test(request):
return 'Hello World!'

您应该检查以确保您尝试打开的所有文件都包含在您的函数中。您可以尝试/ except来解决此错误,并记录一条消息来找出问题所在。

关于python - 部署到Google云函数: Error message: 'main' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57624355/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com