在加载“cv2”二进制扩展期间检测到递归

问题描述 投票:0回答:4

我有一个小程序,通过 pyinstaller 编译后返回 opencv 错误。 但无需编译即可工作!

我在 Windows 10 上使用 Python 3.8.10

节目:

导入pyautogui
将 numpy 导入为 np
导入CV2
尝试:
从 PIL 导入图像
除了导入错误:
导入图片

screenshot = pyautogui.screenshot('screenshot.png',region=(970, 591, 184, 101)) # 开始
img = cv2.imread('截图.png')
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img = cv2.bitwise_not(img)

错误:

['C:\用户 1kro\AppData\Local\Temp\_MEI83642 ase_library.zip', 'C:\Users 1kro\AppData\Local\Temp\MEI83642\lib-dynload', 'C:\Users 1kro\AppData\Local\Temp\MEI83642']
回溯(最近一次调用):
文件“test.py”,第 3 行,位于
文件“PyInstaller\loader\pyimod03_importers.py”,第 476 行,位于 exec_module
文件“cv2_init
.py”,第 180 行,位于
文件“cv2_init
.py”,第 75 行,引导程序中
ImportError:错误:在加载“cv2”二进制扩展期间检测到递归。检查 OpenCV 安装。 [3416] 由于未处理的异常,无法执行脚本“test”!

我尝试全部重新安装,但没有帮助!

找到这篇文章:https://github.com/opencv/opencv/issues/13202 但不明白,该怎么办:( 需要您的帮助,拜托!

python opencv windows-10 pyinstaller
4个回答
17
投票

打开cmd并使用pip安装不同的版本:

 pip install opencv-python==4.5.3.56

之后 pyinstaller 就没有问题了


7
投票

要解决此问题,您可以:

  • 使用旧版本的 OpenCV(例如
    opencv-python==4.5.3.56
    而不是
    4.6.0.66
    ),正如其他人提到的。
  • 等待新版本的
    PyInstaller
    pyinstaller-hooks-contrib
    (可能是v5.3和v2022.9,根据https://github.com/pyinstaller/pyinstaller/issues/6964#issuecomment-1193333632)。
  • 安装并编译 pyInstaller 的开发版本,其中包含此问题的修复程序(请参阅上面链接的评论中的线程)。

3
投票

我可以通过卸载 opencv 并安装旧版本来解决此问题。 4.5.3 版本运行良好。


0
投票

2024年遇到这个问题。

macOS 索诺玛 14.4 点 24.0 蟒蛇3.11 opencv-python 4.8.1.78

© www.soinside.com 2019 - 2024. All rights reserved.