我想将应用程序从 Python 3.7 标准环境移动到 Python 3.6 Flex 环境。
Python 3.7 附带 pip 18,Python 3.6 附带 pip 9。Pip 10 引入了一个非常有用的功能,构建依赖项。许多分析包需要它才能工作,否则您必须在单独的步骤中手动安装 Cython 等构建依赖项。这在 GAE 中显然是行不通的。
在 GAE 之外,解决方案是
pip install --upgrade pip
。
是否可以让Python 3.6环境在运行之前更新其pip
pip install -r requirements.txt
?
将
pip
添加到 requirements.txt
没有效果。
只能使用
requirements.txt
方法安装可通过 pip(提供的)安装的 python 包。
为了满足任何其他依赖项,包括 pip 本身,您可以构建一个完全根据您的需求定制的自定义运行时:
在 App Engine 柔性环境中使用自定义运行时来使用 Java、Python、Node.js 或 Go 的替代实现,或编写 任何其他语言的代码。定义新的运行时环境允许 您可以包含其他组件,例如语言解释器或 应用服务器。
至少从 Python 3.9 及更高版本开始,我经常在标准环境的 Dockerfile 中包含以下内容。
# Install production dependencies.
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
(然后你可以运行 Cython)。
提出这个问题是因为我试图弄清楚如何在标准环境中更新库。
根据文档“默认情况下,App Engine 会缓存获取的依赖项以减少构建时间。要安装依赖项的未缓存版本,请使用以下命令”
gcloud app deploy --no-cache