Cloud Run Buildpack部署时如何指定Python版本
Google Cloud Buildpack 部署 Cloud Run 时指定 Python 3.8.12 版本的配置方案
你不需要编写Dockerfile,直接通过项目配置或构建参数就能锁死Python版本,具体有三种可落地的方式,按需选择即可:
1. 根目录新增.runtimeversion文件(最推荐,版本锁定最稳定)
- 在你的Web应用项目根目录创建名为
.runtimeversion的无后缀纯文本文件 - 文件内仅写入一行精确版本号,不要加多余空格、引号或注释:
3.8.12
- 将该文件提交到代码仓库,重新触发Cloud Build的Buildpack构建流程,构建阶段会自动拉取对应版本的Python解释器,不会自动升级到同大/小版本的其他补丁版。
2. 通过project.toml配置(适配已有Python项目配置的场景)
如果你的项目已经用project.toml管理依赖,不需要额外新建文件,直接在文件内追加Buildpack环境变量配置即可:
[[build.env]] name = "GOOGLE_PYTHON_VERSION" value = "3.8.12"
提交修改后重新构建就会生效。
3. 构建时传环境变量(适合临时测试,不用修改仓库代码)
如果只是单次测试版本兼容性,不想把版本配置提交到代码库,可以直接在构建环节传入参数指定版本:
- 用gcloud命令行部署时,追加构建环境变量参数:
gcloud run deploy <你的服务名> \ --source . \ --set-build-env-vars GOOGLE_PYTHON_VERSION=3.8.12 \ # 后续接你原有配置的区域、权限、实例规格等参数即可
- 如果是在Cloud Build控制台的触发器页面配置,找到「构建环境变量」配置块,新增键为
GOOGLE_PYTHON_VERSION、值为3.8.12的条目,保存后重新触发构建即可。
避坑提示:如果只把版本写为
3.8,Buildpack会自动拉取3.8分支下最新的可用补丁版本,无法锁死在3.8.12,必须写全三位版本号才能匹配到你要的精确版本。
内容的提问来源于stack exchange,提问作者Alessandro Ceccarelli
相关产品推荐
相关产品推荐

