我有一个Python Google Cloud Function,该部署包含3个文件。
root/
|_ main.py
|_ lib.zip
|_ requirements.txt
lib.zip具有一些内部开发的软件包/模块,在内部由另一个团队分发。 requirements.txt具有公共库,例如pandas,numpy等...
main.py通过以下方式从zip文件导入模块:
sys.path.insert(0, 'lib.zip')
from def.xyz import xpto
部署可以在gcloud-cli上正常运行,但是当我尝试在Web控制台中编辑该环境变量和/或添加其他环境变量时,部署失败,并在main.py中出现以下错误:
ModuleNotFoundError: No module named 'def'
显然,从控制台重新部署时,它找不到zip文件,尽管我在“源”选项卡中看到了该文件。
在部署时,变量值对于开发团队来说是未知的,因此无法将其添加到gcloud-cli命令中。而且,管理Web控制台的操作团队将无权访问版本控制存储库,因此他们无法运行gcloud-cli命令。
关于我在做什么错或如何克服这种情况的任何提示?
答案 0 :(得分:0)
修改评论作为答案,并确认该方法可行
您的运营团队可以使用gcloud functions deploy
更新(!)云功能并设置|更新环境变量而无需重新部署。