我有一个小程序,通过 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 但不明白,该怎么办:( 需要您的帮助,拜托!
打开cmd并使用pip安装不同的版本:
pip install opencv-python==4.5.3.56
之后 pyinstaller 就没有问题了
要解决此问题,您可以:
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)。我可以通过卸载 opencv 并安装旧版本来解决此问题。 4.5.3 版本运行良好。
2024年遇到这个问题。
macOS 索诺玛 14.4 点 24.0 蟒蛇3.11 opencv-python 4.8.1.78