PyQt5とpython3によるGUIプログラミング[0]


なぜPyQt4ではなくPyQt5であり、python2.Xではなくpython3.Xなのか、そもそも、元となるQtがすでにQt4のサポートをしていません。
そして、Pythonは今後2.7以降のバージョンをリリースせず、2019年にはサポートを終了すると発表しています。
であれば、進む道はPyQt5であり、python3.Xに必然的に到達するわけです。
とりあえず、MacとWindowsのインストール方法をここに記載しておきます。
これではできない等あれば、連絡いただければと思います。

私の願いとすれば、このUIが日本でメジャーになっていくことです。
知り得た情報は惜しみなくここに流していきます。

PyQt5インストール(Mac編)

■Qtのオープンソースをインストール
http://www.qt.io/download-open-source/
より最新版をダウンロードする

■pythonのインストール
Homebrewとpyenvのインストール方法は以下のページを参考に設定してください。
virtualenvは必須ではありません。
http://qiita.com/ms-rock/items/6e4498a5963f3d9c4a67

SIPのインストール
PyQtのサイトからSIPをダウンロードします。
展開した場所にターミナルで移動して以下のコマンドを実行します。

Python3 configure.py 
make
make install

PyQt5のインストール
PyQtのサイトからPyQt5をダウンロードして展開します。
展開した場所にターミナルで移動して以下のコマンドを実行します。

Python3 configure.py
make
make install

qmakeを聞いてくるようなら以下のようにQtの場所を指定してあげましょう。
python configure.py --qmake /usr/local/Cellar/qt5/5.6.1/bin/qmake
これでインストールが完了するはずです。

コンパイルには結構な時間がかかります。


それでもうまくいかない場合
Homebrewをインストールしましょう。
コマンドラインで以下を実行します。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

そしてこれです。

brew install pyqt5

■起動確認
pythonシェルにて以下を入力
import PyQt5.QtWidgets
エラーがなければインストール成功です。

■Qt Designerの起動
Qtのものを起動します。
例えば私の環境では以下のものを実行します。
/Users/[ユーザ名]/Qt/5.7/clang_64/bin/Designer.app

PyQt5インストール(Windows編)

ちょっと見なかったらMacのインストールより面倒なことになっています。

■Qtのオープンソースをインストール
http://www.qt.io/download-open-source/
より最新版をダウンロードする。
注意:ダウンロードボタンを押すと32bit版になってしまいます。
Download Nowボタンの下にある
Not the download package you need? Hide All Downloads
をクリックして自分の環境にあったものを選びましょう。Windows Hostの物件を選ぶことを薦めます。
オンラインを選ぶとかなり時間がかかります。

■pythonインストール
https://www.python.org/

python.orgよりPython 3.5.1をインストールします。
python.orgよりPython 3.5.2をインストールします。
注意:Customize installationを選ばないと意図しないところにインストールされます。
インストールが完了したら環境設定でPathを通します。

■sipのインストール
コマンドラインで以下を実行します。
pip3 install SIP

注意:You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
こんなメッセージが出るかも知れませんが、そのときはメッセージの通り以下を実行します。
python -m pip install --upgrade pip

■PyQt5のインストール
コマンドラインで以下を実行します。
pip3 install PyQt5

上記よりWindows用のインストーラをダウンロードしてインストールします。
インストーラがpythonのインストールされているディレクトリを探しますので
そのままインストールします。

こんなメッセージが出れば成功です。
「Successfully installed PyQt5-5.7」

■起動確認

pythonシェルにて以下を入力

import PyQt5.QtWidgets

エラーがなければインストール成功です。

■Qt Designerの起動
Qtのものを起動します。

※Qt Designerがdll不足で起動しない場合、MicroSoftのVisualStudioをインストール
する必要があるかもしれません。

■結論
インストールは、windowsのほうがかなり面倒になっています。

インストール番外編(wheelを使ってPyQt5をインストールする)

例えば、会社でPyQt5を使いたいけど、プロキシの関係でネット経由でpipが使えないとか、使いたいマシンがそもそもネットと疎通がないとかの場合、これまで書いた方法ではインストールを諦めることになります。
でも、pipをオフラインで使うことを前提にwheel形式のバイナリをPyPiからダウンロードしてしまえば、PyQt5のインストールは可能です。
wheelが何かここでは説明を割愛します。意味は検索すれば出てきますので、そちらを参照してください。

その方法としては、
①sipのバイナリをダウンロード、pipでインストール
②PyGt5のバイナリをダウンロード、pipでインストール
上記でインストールができます。

以下はpython3.6.5を例にします。
以下にアクセスし,Download filesのリンクをクリックし、自分の環境にあったファイルをダウンロードします。
https://pypi.org/project/PyQt5-sip/


以下にアクセスし、Download filesのリンクをクリックし、自分の環境にあったファイルをダウンロードします。
https://pypi.org/project/PyQt5/

pipのコマンドはWindows10の場合を例にします。基本は他のOSでも同じです。
pipにpathが通してある前提です。
wheelファイルがD:\tmp\ wheelhouseにあるとして、以下のコマンドを実行します。

pip install --use-wheel --no-index --find-links=wheelhouse D:\tmp\wheelhouse\PyQt5_sip-4.19.13-cp36-none-win_amd64.whl

pip install --use-wheel --no-index --find-links=wheelhouse D:\tmp\wheelhouse\PyQt5-5.11.3-5.11.2-cp35.cp36.cp37.cp38-none-win_amd64.whl

これでインストール完了です。

ちなみに、python3.7の場合は「--use-wheel」を削除してください。
そんなオプションはないとエラーになってしまうので。

一言「勝手に変えんなよ!!」と言いたい。

上記の手順はanacondaの場合も有効です。

ただで最高のコードを手に入れる

結構このことを知らない人がいるので追記します。
PyQt5をインストールするために展開したディレクトリにはお宝が含まれています。
何もせずに削除したりしたらもったいないのです。
Macの場合「examples」があるはずです。
windowsの場合は、PyQt5_gpl-5.7.zipを展開すればその中に「examples」があるはずです。
これを大事なフォルダに保存しましょう。
これを実行し解析しさらなる高みを目指しましょう。