Blog

pyqt5とpy2appを使って.app形式のGUIアプリケーションを作る

前回無事pyqt5を導入できたので、以下のサイトを参考にGUIアプリケーションを作ってみました。英語ですが非常に分かりやすくて素晴らしかったです。

Your first GUI app with Python and PyQt

ただ、上記のサイトで使っているのはPyQt4で、私が入れたのはPyQt5。まるまるコピーさせて頂きスクリプトを実行したらcommand not foundエラーが出たのでググってみると、PyQt5からはQMainWindowやQApplicationはQtGuiからではなくQtWidgetsから呼び出さなくてはならないとのことでした。

サイトで紹介されていた雛形は、PyQt5では以下のようなスクリプトになりました。

無事GUIアプリケーションを作って実行できたところで、せっかくなのでMacのアプリケーションファイルである.appで書き出すところまでやってみました。

使うのはpy2appというライブラリです。

先ほど作ったスクリプトのディレクトリに移動して、コンソールから

そして、続けて

これで生成される./dist/の中に.app形式のファイルができるのですが、いざ実行してみると「a python runtime not could be located」といったようなエラーが発生しました。

調べてみると、You may need to install a framework build of Pythonということで、pyenvのような環境で導入されたPythonではフレームワークが使えずビルドに失敗しているとのこと。

pyenvで入れたpythonでビルドするのは諦めモードが漂うstackoverflowでしたが、以下のサイトを思い出しました。

pyenvでPythonをFrameworkとしてインストールする

これでゼロからpython2.7.10を再インストール。

無事いけたか!と思いきや、またもやエラー。ログを見ると、qtCreatorFile = “”で指定した.uiファイルがnot foundと表示されていたので、フルパスを指定したら無事ちゃんとビルドできて動きました。


This Post Has 0 Comments

Leave A Reply