【问题标题】:cx_Freeze - opencv compatibilitycx_Freeze - opencv 兼容性
【发布时间】:2017-11-17 21:19:30
【问题描述】:
每当我尝试使用 cx_Freeze 构建 exe 文件时,都会收到 numpy.core.multiarray failed to import 错误。
我的系统使用以下版本:
python 3.6.0
opencv 3.3.0
numpy 1.13.1
cx_Freeze 5.0
代码是:
import cv2
i=333
print(i)
仅当我删除 import cv2 行时,它才能正常运行(即构建一个好的 exe 文件)。
我列出的四个模块之间有什么不兼容的地方吗?
【问题讨论】:
标签:
python
numpy
opencv
cx-freeze
【解决方案1】:
只有在我卸载 cx_Freeze 并改为安装 Pyinstaller 后,我才设法完成这项工作。它就像一个魅力。
【解决方案2】:
如果这可以帮助你,我设法在 Linux 下使用 SimpleCV 制作了一个工作示例,配置如下:
python 2.7.12
SimpleCV 1.3
numpy 1.11.0
cx_Freeze 5.1.1
示例代码cv2_example.py为:
import encodings
import cv2
print cv2.__version__
i = 333
print i
设置脚本setup.py是:
from cx_Freeze import setup, Executable
build_exe_options = {'packages': ['numpy']}
exe = Executable(script='cv2_example.py', base=None)
setup(name='cv2_example',
version='1.0',
executables=[exe],
options={'build_exe': build_exe_options})
如果您将 cx_Freeze 升级到版本 5.1.1,我想这个示例也适用于您使用 python 3.6.0 和 numpy 1.11.0 的配置。