Nuitka打包源码编译OpenCV程序运行缺失config.py报错如何解决?
Nuitka打包源码编译OpenCV报missing config.py的解决方案
问题原因
源码编译安装的OpenCV,Python绑定的配置文件config.py、load_config_py.py存放在系统cv2模块目录下,Nuitka默认打包规则不会主动收录这类非模块类配置文件,运行时就会抛出找不到配置的错误。
可行方案
方案1:新增打包参数直接收录cv2目录(推荐)
- 首先查询本地cv2模块的安装路径,执行命令:
python3 -c "import cv2, os; print(os.path.dirname(cv2.__file__))"
记录输出的路径,Jetson Nano Ubuntu18.04环境下通常为/usr/lib/python3.6/dist-packages/cv2。
2. 修改Nuitka打包命令,新增--include-data-dir参数,将整个cv2目录打包到生成文件的对应路径:
# 请将等号前的路径替换为你上一步查询到的cv2路径 python3 -m nuitka --standalone --plugin-enable=pylint-warnings --plugin-enable=numpy --plugin-enable=pkg-resources --remove-output --python-flag=no_site --include-data-dir=/usr/lib/python3.6/dist-packages/cv2=cv2 main.py
方案2:手动补全配置文件
如果方案1不生效,可以打包完成后手动补文件:
- 找到第一步查询到的cv2目录下的
config.py、load_config_py.py两个文件 - 复制到打包生成的
main.dist/cv2目录下即可
验证
进入打包生成的main.dist目录,直接运行二进制文件,报错会消失。
内容的提问来源于stack exchange,提问作者Jordi Tormo
相关产品推荐
相关产品推荐

