处理依赖项


您可通过两种方式为使用 Python 编写的 Cloud Functions 函数指定依赖项:使用 pip 软件包管理器的 requirements.txt 文件,或将本地依赖项与您的函数封装在一起。

不支持使用 Pipfile/Pipfile.lock 标准的依赖项规范。您的项目不应包含这些文件。

使用 pip 指定依赖项

Python 依赖项可通过 pip 进行管理,并在元数据文件 requirements.txt 中表示。此文件必须与包含函数代码的 main.py 文件位于同一目录中。

部署您的函数时,Cloud Functions 将使用 pip 下载并安装 requirements.txt 文件中声明的依赖项。

requirements.txt 文件中,每个软件包对应一行内容。每行包含软件包名称和(可选)请求的版本。如需了解详情,请参阅 requirements.txt 参考文档

下面是一个 requirements.txt 文件示例:

requests==2.20.0
numpy

封装本地依赖项

您还可以将依赖项与函数一起进行打包和部署。如果依赖项不能通过 pip 软件包管理器获取,或者您的 Cloud Functions 环境的互联网访问受限,则此方法很有用。

例如,您可以使用如下所示的目录结构:

myfunction/
├── main.py
└── localpackage/
    ├── __init__.py
    └── script.py

然后,您可以照常使用以下 import 语句从 localpackage 导入代码。

# Code in main.py
from localpackage import script

请注意,此方法不会运行任何 setup.py 文件。包含这些文件的软件包仍可以捆绑,但可能无法在 Cloud Functions 上正常运行。