Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

なぜ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のものを起動します。
無題.png

※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/
スクリーンショット 2018-12-22 12.13.27.png
スクリーンショット 2018-12-22 12.11.14.png
以下にアクセスし、Download filesのリンクをクリックし、自分の環境にあったファイルをダウンロードします。
https://pypi.org/project/PyQt5/
スクリーンショット 2018-12-22 12.15.01.png
スクリーンショット 2018-12-22 12.16.33.png

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

これでインストール完了です。
cmd.png
ちなみに、python3.7の場合は「--use-wheel」を削除してください。
そんなオプションはないとエラーになってしまうので。

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

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

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

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

kenasman
とあるエンジニアです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした