cx_Freeze - opencv兼容性

时间:2017-11-17 21:19:30

标签: python numpy opencv cx-freeze

每当我尝试使用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文件)。

我列出的四个模块之间是否存在任何不兼容性?

2 个答案:

答案 0 :(得分:2)

我设法在卸载cx_Freeze并安装Pyinstaller之后才开始工作。它就像一个魅力。

答案 1 :(得分:0)

如果这可以帮助您,我设法在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的配置中使用。