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

GitHub Actions执行Python脚本报错,本地运行正常求助

GitHub Actions 部署球图片分类项目的报错解决指南

1. TensorFlow 无法加载 CUDA/TensorRT 动态库

GitHub Actions 默认使用 CPU 环境的 runner,没有预装 GPU 驱动和 CUDA、TensorRT 依赖,TensorFlow 检测不到相关库就会抛出报错。
解决办法:

  • 直接切换到 CPU 版本的 TensorFlow:把requirements.txt里的tensorflow替换成tensorflow-cpu,或者在工作流的依赖安装步骤里执行pip install tensorflow-cpu
  • 若必须用 GPU,需要配置 GitHub-hosted 的付费 GPU runner,或者搭建自托管 GPU runner,但图片分类这类轻量任务用 CPU 版本完全足够。

2. batch_predict.py 无法从 flask_app.py 导入 classify_image 函数

大多是工作流执行时的工作目录不对,或者 Python 路径没包含项目根目录导致的。
解决办法:

  • 在工作流的脚本执行步骤前,先切换到项目根目录:
    - name: Run batch prediction
      run: |
        cd ${{ github.workspace }}
        python batch_predict.py
    
  • 或者在batch_predict.py开头添加路径配置,确保能找到flask_app.py:
    import sys
    from pathlib import Path
    sys.path.append(str(Path(__file__).resolve().parent))
    from flask_app import classify_image
    
  • 同时检查flask_app.py里的classify_image函数有没有被if __name__ == "__main__"包裹,确保能被外部导入。

3. Keras 无法打开 ball_classifier.h5 文件

核心问题是模型文件没被正确拉取到 runner 环境中。
解决办法:

  • 检查项目的.gitignore文件,看看是不是加了*.h5规则导致模型文件没提交到仓库。如果是,删除该规则后重新提交:
    git add ball_classifier.h5
    git commit -m "Add model file"
    
  • 如果模型文件超过 100MB,GitHub 普通仓库无法直接存储,需要用 Git LFS 管理:
    git lfs track "*.h5"
    git add .gitattributes
    git add ball_classifier.h5
    git commit -m "Add model with LFS"
    
  • 在工作流里加一步检查文件是否存在,确认模型文件在目录中再执行脚本:
    - name: Check model file
      run: ls -la ${{ github.workspace }}
    

内容的提问来源于stack exchange,提问作者Mark Müller

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 13:18:12