You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过GitHub Actions部署GCP Cloud Function失败,请求解决

解决GitHub Actions部署GCP Cloud Function时requirements.txt包含无效内容的问题

问题根源

你的requirements.txt文件被错误写入了Poetry创建虚拟环境的日志行(即Creating virtualenv xxxxxx-nJ6OriN1-py3.8 in /github/home/.cache/pypoetry/virtualenvs),这行不属于合法的Python依赖包声明格式,导致Cloud Build解析依赖时失败。

解决步骤

  • 检查并修正依赖导出命令
    你在GitHub Actions工作流中应该是用Poetry导出依赖到requirements.txt,确保使用纯导出命令,避免将Poetry的运行日志混入文件。正确的poetry export命令示例:

    poetry export --format requirements.txt --output requirements.txt --without-hashes
    

    不要将poetry install的输出重定向到requirements.txt,该命令的日志会包含虚拟环境创建信息,这是导致问题的核心原因。

  • 清理仓库中的错误文件
    手动删除仓库内requirements.txt第一行的无效日志内容,确保文件仅包含合法的依赖声明(如requests==2.31.0这类格式),提交该修改到仓库。

  • 调整GitHub Actions工作流配置
    确保工作流中生成requirements.txt的步骤仅执行poetry export,示例配置片段:

    - name: 安装Poetry
      run: pip install poetry
    
    - name: 导出依赖到requirements.txt
      run: poetry export --format requirements.txt --output requirements.txt --without-hashes
    

    部署Cloud Function前,可添加步骤校验requirements.txt内容,比如:

    grep -v "Creating virtualenv" requirements.txt > temp.txt && mv temp.txt requirements.txt
    
  • 本地验证流程
    在本地执行poetry export命令,检查生成的requirements.txt是否仅包含依赖列表,确认无误后再触发GitHub Actions工作流。

内容的提问来源于stack exchange,提问作者marian.vladoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 17:09:32