weixin_43948348 2022-06-16 11:37
浏览 2321
已结题

pyinstaller打包cv2后运行失败loading of "cv2" binary extensions

问题遇到的现象和发生背景

环境如下:
Python 3.10
Pyinstaller 5.1
numpy 1.22.4
opencv-python 4.6.0.66

问题现象:
1、使用pycharm运行或者调试一切正常,程序可以正常启动运行
2、使用pyinstaller打包时可以生成exe,但是运行exe时报错如下

问题相关代码,请勿粘贴截图

pyinstaller -D -n test abc.py --clean 报错内容如下,均相同
pyinstaller -F -n test abc.py --clean 报错内容如下,均相同
pyinstaller -D -n test abc.py --clean --hidden-import cv2 报错内容如下,均相同

运行结果及报错内容

File "cv2_init.py", line 181, in
bootstrap()
File "cv2_init
.py", line 76, in bootstrap
raise ImportError('ERROR: recursion is detected during loading of "cv2" binary extensions. Check OpenCV installation.')
ImportError: ERROR: recursion is detected during loading of "cv2" binary extensions. Check OpenCV installation.
[13264] Failed to execute script 'onmyoji' due to unhandled exception!

我的解答思路和尝试过的方法

1、最终被打包的test文件夹里面有cv2文件夹,但是里面没有cv2.pyd,不知道是否有问题?
2、经过查看cv2的__init__.py代码,抛错的地方为if hasattr(sys, 'OpenCV_LOADER'):,hasattr(sys, 'OpenCV_LOADER')返回了false,如何才能让hasattr(sys, 'OpenCV_LOADER')返回true。

我想要达到的结果
  • 写回答

1条回答 默认 最新

  • weixin_43948348 2022-06-16 17:21
    关注

    通过如下方式已经解决:
    1、pip uninstall opencv-python卸载python根目录下的库。
    2、在opencv的官网下载windows的最新发行版,解压后目录的绝对路径为abc
    3、使用pyinstaller -F mmm.py --paths="abc"打包后,程序可以正常运行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月24日
  • 已采纳回答 6月16日
  • 创建了问题 6月16日

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能