Car*_*etz 5 google-app-engine python-3.x google-cloud-platform google-app-engine-python
我试图弄清楚如何使用 Python 3(标准)将内部包添加到 Google App Engine 部署中。
对于 Python 2,打包模块的方法是使用本地lib/文件夹和appengine_config.py. 这似乎不再适用于 Python 3?至少我的应用程序找不到lib/文件夹中的模块。
对于 Python 3,可以只pip3 install -t .使用包。但这会变得非常混乱,因为所有软件包都刚刚安装在应用程序根目录中,并且还将添加到我们应用程序的 git 存储库中。
我们不能使用,requirements.txt因为该模块是内部的,并且在 PyPI 上不可用。
是否有另一种使用 Python 3 为 Google App Engine 打包模块的方法?
Python 3.7 标准运行时是一个“惯用的”Python 运行时,这意味着它不会自动将特殊lib目录添加到模块的搜索路径中。
您应该继续将私有模块“供应”到lib目录中,但您需要更改导入它们的方式。
如果你的私有包是foobar,并且你已经完成了pip install -t lib foobar,那么在你的项目中,而不是:
import foobar
Run Code Online (Sandbox Code Playgroud)
你做:
import lib.foobar
Run Code Online (Sandbox Code Playgroud)
(您还需要将一个空__init__.py文件添加到您的lib目录中,以使其成为一个模块。)
| 归档时间: |
|
| 查看次数: |
377 次 |
| 最近记录: |