2017-01-17 1 views
0

entwickelt Maschine:exe-Datei von pyinstaller Einsatz kann nicht auf einem anderen PC läuft (virtuelle Maschine)

ich mit pyinstaller qrprint.py eingesetzt, es gut auf dieser Maschine funktioniert.

Dann copyed i Ordner der virtuellen Maschine (VMware Workstation + winowd7 32bit) und führen Sie es nicht mit Infomationen Failed to execute script pyi_rth_qt5

Ich versuche Lösung, es kann nicht helfen, wie https://github.com/pyinstaller/pyinstaller/issues/1679, suchen funktioniert. Ich habe DependencyWalker gefunden die fehlende DLL, kann es nicht funktionieren.

Dies ist die Infomationen auf zwei Maschinen mit pyinstaller qrprint.py --debug

devolop:

PyInstaller Bootloader 3.x 
LOADER: executable is C:\Users\Administrator\Desktop\python demo\dist\qrPrint\qrPrint.exe 
LOADER: homepath is C:\Users\Administrator\Desktop\python demo\dist\qrPrint 
LOADER: _MEIPASS2 is NULL 
LOADER: archivename is C:\Users\Administrator\Desktop\python demo\dist\qrPrint\qrPrint.exe 
LOADER: No need to extract files to run; setting extractionpath to homepath 
LOADER: SetDllDirectory(C:\Users\Administrator\Desktop\python demo\dist\qrPrint) 
LOADER: Already in the child - running user's code. 
LOADER: Python library: C:\Users\Administrator\Desktop\python demo\dist\qrPrint\python27.dll 
LOADER: Loaded functions from Python library. 
LOADER: Manipulating environment (sys.path, sys.prefix) 
LOADER: sys.prefix is C:\Users\ADMINI~1\Desktop\PYTHON~1\dist\qrPrint 
LOADER: Setting runtime options 
LOADER: Initializing python 
LOADER: Overriding Python's sys.path 
LOADER: Post-init sys.path is C:\Users\Administrator\Desktop\python demo\dist\qrPrint 
LOADER: Setting sys.argv 
LOADER: setting sys._MEIPASS 
LOADER: importing modules from CArchive 
LOADER: extracted struct 
LOADER: callfunction returned... 
LOADER: extracted pyimod01_os_path 
LOADER: callfunction returned... 
LOADER: extracted pyimod02_archive 
LOADER: callfunction returned... 
LOADER: extracted pyimod03_importers 
LOADER: callfunction returned... 
LOADER: Installing PYZ archive with Python modules. 
LOADER: PYZ archive: out00-PYZ.pyz 
LOADER: Running pyiboot01_bootstrap.py 
LOADER: Running pyi_rth__tkinter.py 
LOADER: Running pyi_rth_qt5.py 
LOADER: Running pyi_rth_qt5plugins.py 
LOADER: Running qrPrint.py 

virtuelle Maschine:

PyInstaller Bootloader 3.x 
LOADER: executable is C:\Users\Administrator\Desktop\qrPrint\qrPrint.exe 
LOADER: homepath is C:\Users\Administrator\Desktop\qrPrint 
LOADER: _MEIPASS2 is NULL 
LOADER: archivename is C:\Users\Administrator\Desktop\qrPrint\qrPrint.exe 
LOADER: No need to extract files to run; setting extractionpath to homepath 
LOADER: SetDllDirectory(C:\Users\Administrator\Desktop\qrPrint) 
LOADER: Already in the child - running user's code. 
LOADER: Python library: C:\Users\Administrator\Desktop\qrPrint\python27.dll 
LOADER: Loaded functions from Python library. 
LOADER: Manipulating environment (sys.path, sys.prefix) 
LOADER: sys.prefix is C:\Users\ADMINI~1\Desktop\qrPrint 
LOADER: Setting runtime options 
LOADER: Initializing python 
LOADER: Overriding Python's sys.path 
LOADER: Post-init sys.path is C:\Users\Administrator\Desktop\qrPrint 
LOADER: Setting sys.argv 
LOADER: setting sys._MEIPASS 
LOADER: importing modules from CArchive 
LOADER: extracted struct 
LOADER: callfunction returned... 
LOADER: extracted pyimod01_os_path 
LOADER: callfunction returned... 
LOADER: extracted pyimod02_archive 
LOADER: callfunction returned... 
LOADER: extracted pyimod03_importers 
LOADER: callfunction returned... 
LOADER: Installing PYZ archive with Python modules. 
LOADER: PYZ archive: out00-PYZ.pyz 
LOADER: Running pyiboot01_bootstrap.py 
LOADER: Running pyi_rth__tkinter.py 
LOADER: Running pyi_rth_qt5.py 
Traceback (most recent call last): 
    File "site-packages\PyInstaller\loader\rthooks\pyi_rth_qt5.py", line 56, in <m 
odule> 
    File "c:\dvlp\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers 
.py", line 546, in load_module 
ImportError: DLL load failed: 找不到指定的模块。 
Failed to execute script pyi_rth_qt5 
LOADER: OK. 
LOADER: Cleaning up Python interpreter. 

, was soll ich tun?

+0

Ich denke, dass Sie QT installiert werden müssen. –

+0

@ Jean-FrançoisFabre Ich habe den Grund gefunden, es ist so dumm. danke für Ihren Vorschlag – Fred

Antwort

1

Ich fand den Grund. es ist so dumm, dass ich vergessen habe, vc runtime libiray zu installieren. Wenn installiert, funktioniert es gut.

Aber ich kann nicht auf XP arbeiten, ich denke, der Grund ist Qt5.7.1 msvc 2015 nicht unterstützt XP.

Wie PyQt5 von Qt5.7.1 mit unterstützenden XP zu kompilieren ist eine andere Frage.

Verwandte Themen