python - 从谷歌云应用引擎中的私有(private) github repo pip 安装包

标签 python google-app-engine google-cloud-platform pip gcloud

我正在使用 google cloud appengine 并使用 gcloud app deploy 和标准的 app.yaml 文件进行部署。我的 requirements.txt 文件有一个从 github (git+ssh://git@github.com/...git) 获取的私有(private)包。此安装在本地运行,但是当我运行部署时,我得到了

Host key verification failed.
fatal: Could not read from remote repository.

这表明安装时没有 ssh key 。阅读文档(https://cloud.google.com/appengine/docs/standard/python3/specifying-dependencies)似乎这不是一个选择???

Dependencies are installed in a Cloud Build environment that does not provide access to SSH keys. Packages hosted on repositories that require SSH-based authentication must be copied into your project directory and uploaded alongside your project's code using the pip package manager.

对我来说,这似乎不是最佳选择——将代码分解到一个包中的全部意义在于能够避免 repo 中的重复。现在,如果我想使用 appengine,你是说这不可能吗?

真的没有解决办法吗?

最佳答案

参见:

https://cloud.google.com/appengine/docs/standard/python3/specifying-dependencies#private_dependencies

App Engine 服务没有(也不应该)访问您的私有(private) 存储库。

一种替代方法(您不想要)是将您的公钥上传到 App Engine 服务。

另一个 - 如文档所述 - 是您必须将您的私有(private)存储库的内容作为上传的一部分提供给服务。

关于python - 从谷歌云应用引擎中的私有(private) github repo pip 安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58211194/

相关文章:

google-cloud-platform - 如何在没有公钥的情况下登录ssh?只有用户名和密码

google-cloud-platform - 如何使用API​​或Terraform模板在GCP中创建StackDriver工作区

python - 我将如何在我的网站中实现排名算法来对数据库数据进行排序?

Python: "FileNotFoundError"在所有子进程调用上

python - 将训练数据添加到现有的 LinearSVC

java - 了解 Google App Engine 数据存储区

linux - 如果文件不存在,则毫无异常(exception)地从 GCS 中删除

python - 构造列表中出现次数的列表

java - 如何使用 Java 防止 Google App Engine 中的竞争条件?

java - 新组件的 ReSTLet web.xml 配置