指定依赖项

Python 应用的依赖项在标准 requirements.txt 文件中声明。例如:

Flask==MAJOR.MINOR.PATCH
google-cloud-storage

MAJORMINORPATCH 替换为所需的 Flask 版本号

部署到 App Engine 时,requirements.txt 文件中指定的依赖项将自动随部署的应用一同安装。您可以使用任何与 Linux 兼容的 Python 软件包,包括需要原生 C 扩展程序的软件包。

默认情况下,App Engine 会缓存已提取的依赖项,以缩短构建时间。要在安装依赖项时忽略缓存,请使用以下命令:

gcloud app deploy --no-cache

Artifact Registry 的专用依赖项

如果您需要托管 Python 应用的专用依赖项,则可以使用 Artifact Registry Python 代码库。部署应用时,构建流程会自动为 Cloud Build 服务账号生成 Artifact Registry 凭据,因此您无需生成其他额外的凭据。如需添加专用依赖项,请在 requirements.txt 文件中添加 Artifact Registry 网址和相关软件包。

如需指定多个代码库,请使用 Artifact Registry 虚拟代码库来安全地控制 pip 搜索代码库的顺序。例如:

--index-url REPOSITORY_URL
sampleproject
Flask==MAJOR.MINOR.PATCH
google-cloud-storage

REPOSITORY_URL 替换为代码库地址,例如:

https://REGION_ID-python.pkg.dev/PROJECT_ID/REPOSITORY_NAME/simple

其他代码库的专用依赖项

依赖项安装在 Cloud Build 环境中,该环境不提供对 SSH 密钥的访问权限。在代码库中托管的需要基于 SSH 的身份验证的软件包必须复制到项目目录中,并使用 pip 软件包管理器与您的项目代码一起上传。

要使用专用依赖项,请执行以下操作:

  1. 运行 pip install -t lib my_module 以将依赖项复制到名为 lib 的本地文件夹。

  2. 将空的 __init__.py 文件添加到 lib 目录,以将其设置为模块。

  3. 在您的应用中导入该模块。例如:

    import lib.my_module
    

本地安装依赖项

在本地开发和测试应用时,我们建议您使用 venv 将应用的依赖项与系统软件包隔离开来。这样做还可确保本地机器上的依赖项的版本与已部署应用的依赖项版本保持一致。

如需使用 venv 安装依赖项,请完成以下步骤:

Mac OS/Linux

  1. 创建一个独立的 Python 环境
    python3 -m venv env
    source env/bin/activate
  2. 如果您当前不在包含示例代码的目录中,则导航到包含 hello_world 示例代码的目录。然后安装依赖项:
    cd YOUR_SAMPLE_CODE_DIR
    pip install -r requirements.txt

Windows

使用 Powershell 运行 Python 包。

  1. 找到已安装的 PowerShell
  2. 右键点击 Powershell 的快捷方式,并以管理员身份启动。
  3. 创建一个独立的 Python 环境
    python -m venv env
    .\env\Scripts\activate
  4. 导航到项目目录并安装依赖项。如果您当前不在包含示例代码的目录中,则导航到包含 hello_world 示例代码的目录。然后安装依赖项:
    cd YOUR_SAMPLE_CODE_DIR
    pip install -r requirements.txt

这样可确保当您在本地运行应用时,只有 requirements.txt 文件中声明的依赖项可用。App Engine 在部署期间安装的依赖项基于 requirements.txt 文件的内容,而不是 env/ 目录的内容。

安装 Web 框架

您需要使用 Web 框架来启用您的应用以处理 Web 请求。 您可以使用任何 Python Web 框架,包括以下各项:

如需使用特定的 Web 框架,只需将其添加到 requirements.txt

Flask==MAJOR.MINOR.PATCH

安装 WSGI 服务器

一些网络框架具有内置 WSGI 服务器,但是,这些框架基本都不适合传送生产流量。大多数 Web 应用都使用独立的 WSGI 服务器,如 GunicornuWSGIWaitress。如需详细了解如何安装、配置和使用 WSGI 服务器,请参阅应用启动

安装 Cloud 客户端库

Python 版 Cloud 客户端库可用于访问 Google Cloud 服务,能显著减少您必须编写的样板代码量。该库提供高级 API 抽象,因此更容易理解。该库还包含 Python 的习语,适用于标准 Python 库,并且可与您的代码库更好地集成。

例如,您可以为 DatastoreCloud Storage 安装相应的 Python 客户端库,从而将这些服务与您的应用集成。

要为 Cloud Datastore 安装 Python 客户端库,请执行以下操作:

  1. 使用 pip 在本地安装客户端库:

    pip install google-cloud-datastore

  2. 设置身份验证。您可以将 Python 版 Cloud 客户端库配置为自动处理身份验证。该客户端库也可使用 Google Cloud CLI 为您在本地自动处理身份验证。

    gcloud auth login
    
  3. 借助 Datastore 客户端库参考文档,在您的应用中实现对 Cloud Datastore 服务的支持。

如需查看支持的 Google Cloud 服务的所有 Python 版 Cloud 客户端库的完整列表,请参阅 API 和 Python 库