2016-08-02 7 views
0

Я пишу приложение, используя модули PyQt4, cv2 (v.2.4.13), numpy (v.1.11.1) и т. Д. Я использую Python (2.7.11 на win32), Windows7 (x64).Windows ImportError numpy.core.multiarray не удалось импортировать

Перед компиляцией (используя py2exe) в Windows мое приложение работает правильно (выполняется с помощью python).

В setup.py:

... 
options = { 
     'py2exe': { 
     ... 
     'compressed': True, 
     'includes': ['cv2', 'numpy', 'sip', 'lxml._elementpath', 'PyQt4.QtCore', 'PyQt4.QtGui' ], 
     'dll_excludes': ['MSVCP90.dll', 'w9xpopen.exe', 'Qwt.pyd', 'tcl85.dll', 'tk85.dll'] 
     } 
} 
... 

После компиляции на Windows, и пытается запустить приложения (файл * .exe) система возврата эту ошибку:

File "cv2.pyc", line 12, in module

File "cv2.pyc", line 10, in __load

ImportError: numpy.core.multiarray failed to import.

Исключение воспитывался в строке :

import cv2 

В папке с именем 'dist' находится файл numpy.core.multiarray.pyd. В library.zip есть файл cv2, папка numpy.

ответ

1

решаемые

Проблема заключалась в setup.py в разделе py2exe.

Также я скопировал numpy-atlas.dll из C: \ Python27 \ Lib \ site-packages \ numpy \ core для пакетов сайтов для успешной сборки.

setup.py:

excludes = [ 
    'Tkconstants', 'Tkinter', 'tcl', '_ssl', 'bz2', 
    '_testcapi', 'pyexpat', 'select' 
] 
options = { 
    'py2exe': { 
     'compressed': True, 
     'excludes': excludes, 
     'includes': ['sip', 'lxml._elementpath', 'PyQt4.QtCore', 'PyQt4.QtGui', 'cv2', 'numpy'], 
     'dll_excludes': ['MSVCP90.dll', 'w9xpopen.exe', 'Qwt.pyd', 'tcl85.dll', 'tk85.dll', 'MSVCR90.DLL'] 
    } 
} 
1

У меня была аналогичная проблема для меня решение было так же легко, как перемещение файла изображения в папку, где был создан исполняемый файл. Это работало как для py2exe, так и для pyinstaller.

Смежные вопросы