Raspberry Pi 3上のPyQt5をインストールします。PyQt5のインストールについては「
Raspberry Pi 3へQT5のインストール」で行いましたが、Raspbianのバージョンを「stretch」に変更するとデスクトップ画面が立ち上がらないなどの不具合が発生したため、今回は別の方法でPyQt5をインストールします。stretchには標準パッケージとしてQt 5.7.1 が用意されており、これを使用します。今回構築した環境を次に示します。

  • Raspbian-stretch date:2017-11-29
  • python3:バージョン3.6.1
  • Qt:5.7.1
  • PyQt5:バージョン5.10.1

Raspberry Pi 3へのPyQt5のインストール

次の手順に従い、Raspberry Pi 3上にPyQt5をインストールします。

  1. Qtのインストール
  2. sipのインストール
  3. PyQt5のインストール

Qtのインストール

次のコマンドによりQt5をインストールします。Qt5の開発環境「Qt Creator」も同時にインストールします。

$ sudo apt-get install qt-sdk qtbase5-dev libgl1-mesa-dev qt5-default

インストールが完了すると、 次のようにQt Creatorがメニューに登録されます。

Qt Creatorをメニューに登録

sipのインストール

SIP Download」より最新版のsipをダウンロードします。ダウンロードしたファイルを展開し、展開したフォルダ「sip-4.19.8」に移動して、次のコマンドを実行します。

$ python3 configure.py 
$ make
$ sudo make install

PyQt5のインストール

PyQt5 Download」より最新版のPyQt5をダウンロードします。ダウンロードしたファイルを展開し、展開したフォルダ「PyQt5_gpl-5.10.1」に移動して、次のコマンドを実行します。QTをコンパイルするため、makeするのに時間がかかります。

$ python3 configure.py
$ make
$ sudo make install

<注意>
次のエラーが表示された場合、sip-4.19.8とPyQt5_gpl-5.10.1.の組み合わせで行ってください。

$ python3 configure.py
Querying qmake about your Qt installation...
Error: Unable to import PyQt5.sip. Make sure you have configured SIP to create
a private copy of the sip module.

PyQt5_gpl-5.10.1  / sip-4.19.8

PyQt5の動作確認

インストールしたPyQt5の動作確認のために、確認プログラム「testpro.py」を作成します。

#! /usr/bin/python3
# -*- coding: utf-8 -*-

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton

if __name__ == '__main__':
    app = QApplication(sys.argv)
    
    window = QWidget()
    button = QPushButton('button', window) # ボタンを埋め込み
    window.show()

    sys.exit(app.exec_())

確認プログラム「testpro.py」を次のように実行します。

$ python3 testpro.py
libEGL warning: DRI2: failed to authenticate
** (python3:959): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

次のようにデスクトップ画面にダイアログとボタンが表示されます。

PyQt5によるプログラムの実行