Posted at

PyQt5でGUIアプリをEXE化しようとしたらつまった話

More than 1 year has passed since last update.


PyQt5 + Pyinstaller + Python2.x GUIアプリのビルド


実行環境


  • windows

  • anaconda 2.x

  • pyinstaller


エラー

pyqt5を利用して作成したファイルをpyinstallerの以下のコマンドを利用して実行します。

pyinstaller {YOUR_SRIPTNAME}.py --onefile --noconsole -p "C:\Users\{YOUR_USERNAME}\Anaconda2\lib\site-packages\PyQt5\plugins\platforms"

ビルドされたexeファイルを実行しようとすると。。

This application failed to start because it could not find or load the Qt platform plugin "windows"

in "".

上記のエラーが出て動かない。。。なんでや。。。


解決策

とりあえず必要なdllをexeと同じフォルダに入れることで解決しました。

- \platformsをexeの入ったフォルダの/dist以下にコピーする。

- C:\Users\{YOUR_USERNAME}\Anaconda2\lib\site-packages\PyQt5内のlibEGL.dllを/dist以下にコピーする。

exeにしたものの実行できなくて困っている方の参考になれば。


参考

https://qiita.com/kanjirz50/items/930e9056076d04eecaec

https://stackoverflow.com/questions/17695027/pyqt5-failed-to-load-platform-plugin-windows-available-platforms-are-windo