Win10 64ビット版では、Python3.4.3用にPyQt5_5.4.1をインストールしました。XPクライアントをサポートするには3.4.3が必要で、これがXPにインストールできる最後のバージョンです。PyQt5はpython3.4.3フォルダにインストールされC:\Python34
、PATHで確認できます。C:\Python34\Lib\site-packages\PyQt5
スクリプトを実行すると、python myscript.py
すべて正常に、GUI ウィンドウが表示されます。ただし、pyinstaller
次のように作成されたスクリプトから .exe ファイルを実行しようとすると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
プロジェクトディレクトリにフックファイルを作成します。名前を付けますフック-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の仕様ファイルにパラメータを追加します
フックパス=['./']
分析オブジェクトへ:
a = Analysis(
...
hookspath=['./'],
...
)
または、PyInstaller を直接使用する場合は、コマンドラインに引数 "--additional-hooks-dir" を指定します。
python -m PyInstaller --additional-hooks-dir="./" <your-script>