Auf Win10 64bit habe ich PyQt5_5.4.1 für Python3.4.3 installiert. Ich brauche 3.4.3 zur Unterstützung von XP-Clients und dies ist die letzte Version, die auf XP installiert werden kann. PyQt5 hat sich selbst im Ordner python3.4.3 installiert C:\Python34
und ich kann es in PATH sehenC:\Python34\Lib\site-packages\PyQt5
Wenn ich mein Skript ausführe, python myscript.py
ist alles in Ordnung, das GUI-Fenster wird angezeigt. Wenn ich jedoch versuche, eine EXE-Datei aus diesem Skript auszuführen, das wie pyinstaller
folgt erstellt wurde, pyinstaller myscript.py --onefile
erhalte ich einen Fehler:
Qt: Untested Windows version 10.0 detected!
This application failed to start because it
could not find or load the Qt platform plugin "windows".
Reinstalling the application may fix this problem.
Diesen Code habe ich in myscript.py:
from PyQt5 import QtWidgets, QtCore, QtGui
Gibt es eine Lösung für dieses Problem? Ich habe versucht, PyQt5 neu zu installieren, aber ohne Erfolg.
Antwort1
Erstellen Sie eine Hook-Datei in Ihrem Projektverzeichnis. Nennen Sie siehook-PyQt5.pyZum Beispiel:
from PyInstaller.utils.hooks import qt_plugins_binaries
# Fixed the issue: could not find or load the Qt platform plugin "windows".
binaries = qt_plugins_binaries('platforms', 'PyQt5')
Fügen Sie in der Pyinstaller-Spezifikationsdatei einen Parameter hinzu
Hookspfad=['./']
zum Analyseobjekt:
a = Analysis(
...
hookspath=['./'],
...
)
oder geben Sie ein Argument „--additional-hooks-dir“ zur Befehlszeile an, wenn Sie PyInstaller direkt verwenden.
python -m PyInstaller --additional-hooks-dir="./" <your-script>