2015-05-19 2 views
0

im пытается использовать py2exe (0.9.2.0) для преобразования сценария python в исполняемый файл.py2exe PyQt5 «ImportError: Нет модуля с именем« Qt ​​»

Я до сих пор не удалось, потому что py2exe не находит модуль Qt:

C:\Users\Tobias\eclipse\workspace\pydevTest>python setup.py py2exe 
running py2exe 

5 missing Modules 
------------------ 
? Qt         imported from __SCRIPT__ 
? WizardPage       imported from __SCRIPT__ 
? readline       imported from cmd, code, pdb 
? win32api       imported from platform 
? win32con       imported from platform 
Building 'dist\Test.exe'. 
Building shared code archive 'dist\library.zip'. 
Copy c:\windows\system32\python34.dll to dist 
Copy C:\Python34\DLLs\_hashlib.pyd to dist\_hashlib.pyd 
Copy C:\Python34\lib\site-packages\PyQt5\QtGui.pyd to dist\PyQt5.QtGui.pyd 
Copy C:\Python34\lib\site-packages\PyQt5\QtCore.pyd to dist\PyQt5.QtCore.pyd 
Copy C:\Python34\DLLs\unicodedata.pyd to dist\unicodedata.pyd 
Copy C:\Python34\DLLs\_ssl.pyd to dist\_ssl.pyd 
Copy C:\Python34\DLLs\_elementtree.pyd to dist\_elementtree.pyd 
Copy C:\Python34\DLLs\select.pyd to dist\select.pyd 
Copy C:\Python34\lib\site-packages\sip.pyd to dist\sip.pyd 
Copy C:\Python34\lib\site-packages\PyQt5\QtWidgets.pyd to dist\PyQt5.QtWidgets.pyd 
Copy C:\Python34\DLLs\pyexpat.pyd to dist\pyexpat.pyd 
Copy C:\Python34\DLLs\_lzma.pyd to dist\_lzma.pyd 
Copy C:\Python34\DLLs\_socket.pyd to dist\_socket.pyd 
Copy C:\Python34\DLLs\_bz2.pyd to dist\_bz2.pyd 
Copy C:\Python34\DLLs\_ctypes.pyd to dist\_ctypes.pyd 
Copy DLL C:\Python34\lib\site-packages\PyQt5\Qt5Core.dll to dist\ 
Copy DLL C:\Python34\lib\site-packages\PyQt5\icudt53.dll to dist\ 
Copy DLL C:\Python34\lib\site-packages\PyQt5\icuuc53.dll to dist\ 
Copy DLL C:\Python34\lib\site-packages\PyQt5\icuin53.dll to dist\ 
Copy DLL C:\Python34\lib\site-packages\PyQt5\Qt5Gui.dll to dist\ 
Copy DLL C:\Python34\lib\site-packages\PyQt5\Qt5Widgets.dll to dist\ 

Мой setup.py выглядит следующим образом:

import py2exe 
from distutils.core import setup 


setup(windows=["./src/Test.py"], options={"py2exe" : {"includes" : ["sip", "PyQt5.QtGui","PyQt5.QtWidgets","PyQt5.QtCore","PyQt5.QtCore"]}}) 

Сценарий довольно прост. После устранения первой ошибки я также могу помочь с четырьмя другими недостающими модулями ...

Спасибо большое!

+0

добавляющие PyQt5._qt к включает в себя результаты ошибки компиляции. Спасибо за tipp, но, похоже, это не решает проблему в моем случае. – ARTcrime

+0

Когда-то импорт отсутствующих модулей в setup.py помогает. что произойдет, если вы импортируете PtQt5? – otterb

ответ

0

вам необходимо добавить следующие библиотеки DLL:

C:\Windows\SYSTEM32\msvcp100.dll

C:\Windows\SYSTEM32\msvcr100.dll

C:\Python34\Lib\site-packages\PyQt4\plugins\platforms\qwindows.dll

нечто вроде этого:

data_files = (
    ('', glob(r'C:\Windows\SYSTEM32\msvcp100.dll')), 
    ('', glob(r'C:\Windows\SYSTEM32\msvcr100.dll')), 
    ('platforms', glob(r'C:\Python34\Lib\site-packages\PyQt4\plugins\platforms\qwindows.dll')), 
), 
+0

Спасибо за ваш ответ. - Значок был незаконным импортом. Python позволяет «из Qt import xxx», но py2exe не может его решить. Изменив импорт на «из PyQt5.Qt import xxx», проблема была решена. Но обе библиотеки, которые вы упоминаете, также отсутствуют. Так что спасибо за подсказку! – ARTcrime