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

使用PyInstaller打包OpenCV项目为exe时遇config.py缺失错误求助

解决方案

1. 手动通过.spec文件包含OpenCV配置文件

PyInstaller默认可能遗漏OpenCV的config.py及相关配置文件,可通过.spec文件手动添加:

  • 生成.spec文件:
    pyi-makespec main.py
    
  • 找到你的OpenCV安装路径,执行以下命令获取:
    python -c "import cv2; print(cv2.__path__)"
    
  • 编辑生成的main.spec文件,在datas列表中添加OpenCV的配置文件路径(替换为你实际的路径):
    datas=[
        (r'C:\你的Python路径\Lib\site-packages\cv2\config.py', 'cv2'),
        (r'C:\你的Python路径\Lib\site-packages\cv2\config-*.py', 'cv2')
    ]
    
  • 用.spec文件重新打包:
    pyinstaller main.spec
    

2. 直接用--add-data参数打包

无需生成.spec文件,直接在打包命令中指定要包含的OpenCV配置文件:

  • Windows环境:
    pyinstaller --add-data "C:\你的Python路径\Lib\site-packages\cv2\config.py;cv2" --add-data "C:\你的Python路径\Lib\site-packages\cv2\config-*.py;cv2" main.py
    
  • Linux/macOS环境:
    pyinstaller --add-data "/你的Python路径/lib/pythonX.X/site-packages/cv2/config.py:cv2" --add-data "/你的Python路径/lib/pythonX.X/site-packages/cv2/config-*.py:cv2" main.py
    

3. 适配Ultralytics库的特殊处理

由于项目依赖Ultralytics,需确保打包时包含其相关依赖:

  • 在main.py开头添加依赖检查代码,确保运行时依赖路径正确:
    from ultralytics import checks
    checks()
    
  • 打包时添加隐藏导入参数:
    pyinstaller --hidden-import=cv2 --hidden-import=ultralytics main.py
    

4. 确认虚拟环境一致性

如果使用了虚拟环境,确保:

  • 激活虚拟环境后执行打包命令
  • 所有依赖(OpenCV、Ultralytics、PyInstaller)均在该虚拟环境内安装,避免全局环境的路径冲突

内容的提问来源于stack exchange,提问作者Shashank Vyas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 03:10:00