На Win10 64bit я установил PyQt5_5.4.1 для Python3.4.3. Мне нужна версия 3.4.3 для поддержки клиентов XP, и это последняя версия, которую можно установить на XP. PyQt5 установился в папку python3.4.3, C:\Python34
и я вижу его в PATHC:\Python34\Lib\site-packages\PyQt5
Когда я запускаю свой скрипт, python myscript.py
все в порядке, появляется окно gui. Однако, когда я пытаюсь запустить .exe-файл из этого скрипта, созданного таким образом, pyinstaller
я pyinstaller myscript.py --onefile
получаю ошибку:
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.
Этот код у меня есть в myscript.py:
from PyQt5 import QtWidgets, QtCore, QtGui
Есть ли решение этой проблемы? Я пробовал переустановить PyQt5, но безуспешно.
решение1
Создайте файл hook в каталоге вашего проекта. Назовите егохук-PyQt5.pyнапример:
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')
В файле спецификации Pyinstaller добавьте параметр
hookspath=['./']
к объекту анализа:
a = Analysis(
...
hookspath=['./'],
...
)
или укажите аргумент "--additional-hooks-dir" в командной строке, если вы используете PyInstaller напрямую.
python -m PyInstaller --additional-hooks-dir="./" <your-script>