RmR*_*RmR 5 python pip google-cloud-functions
functions-framework
requirements.txt
: -e git+https://github.com/<repo>/<project>#egg=<project>
Run Code Online (Sandbox Code Playgroud)
pip install -r requirements.txt
。并且包安装成功。import <pkg-name>
作品的函数的python代码中,我能够访问所有函数。gcloud functions \
deploy <function-name> \
--trigger-http \
--entry-point <entry-function> \
--runtime python37 \
--project=<my-project>
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,这会产生错误,因为它无权访问 git 中的私有存储库。
我创建了一个 Google Cloud Repository 并将它链接到 git repo,希望能以某种方式在 requirements.txt 中指定它。就是不知道怎么办。
我尝试在 Google Cloud Function 中为用户名和密码设置环境变量(这不是一个好主意,我同意)并在以下内容中指定它们requirements.txt
:
-e git+https://${AUTH_USER}:${AUTH_PASSWORD}@github.com/<repo>/<project>#egg=<project>
Run Code Online (Sandbox Code Playgroud)
这也给了一个错误。
任何帮助或方向将不胜感激。
虽然@marian.viadoi 在上述评论中是正确的。Google Cloud Function 无法访问私有 git repo,我已经实施了一种解决方法并共享以备不时之需。这是已经完成的工作:
python3 setup.py bdist_wheel
dist
文件夹下。requirements.txt
我添加了行:./dist/xxxx.whl
到云功能所需的其他依赖项gcloud deploy ..
这并没有回答如何在 Google Functions 中使用私有存储库(这是不可能的),但上述步骤确保私有包可以在不同的云功能之间轻松共享和更新。
您无法从云功能访问私有仓库。根据官方文档:
"使用私有依赖项
依赖项安装在不提供 SSH 密钥访问权限的 Cloud Build 环境中。托管在需要基于 SSH 身份验证的存储库中的包必须与项目代码一起提供和上传,如上一节所述。
您可以在部署应用程序之前使用带有 -t DIRECTORY 标志的 pip install 命令将私有依赖项复制到本地目录,如下所示:
将您的依赖项复制到本地目录中:
Run Code Online (Sandbox Code Playgroud)pip install -t DIRECTORY DEPENDENCY
将空的init .py 文件添加到 DIRECTORY 目录中,将其变成模块。
从此模块导入以使用您的依赖项:
Run Code Online (Sandbox Code Playgroud)import DIRECTORY.DEPENDENCY
”
归档时间: |
|
查看次数: |
1651 次 |
最近记录: |