Raspbian stretch に PyQt5 をインストールする2(Pythonコンパイルツール群のインストール)
Qt5をPython3で使うための準備1。
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 2018-06-27
- Qt 5.7.1
2018-11-23時点。
前回まで
手順
- 現状確認
- システム更新
- インストール
1. 現状確認
現在のインストール状況。デフォルト状態。
$ pyenv bash: pyenv: コマンドが見つかりません $ python --version Python 2.7.13 $ python3 --version Python 3.5.3 $ pip --version pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7) $ pip3 --version pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5)
ツール | 概要 |
---|---|
pyenv | Pythonのバージョン管理 |
python, python3 | Python本体(インタプリタ) |
pip, pip3 | Pythonパッケージマネージャ |
2. システム更新
$ sudo apt-get update $ sudo apt-get upgrade
3. インストール
Pythonをコンパイルするのに必要なツールをインストールする。約1分で完了。
$ sudo apt-get install -y libssl-dev libbz2-dev libreadline-dev libsqlite3-dev tk-dev ... この操作後に追加で 22.9 MB のディスク容量が消費されます。 ...
なお、必要なツールは以下を参考にした。
- ラズパイのセットアップからpyenvを使ってPython3.6環境を構築するまで - suzu6
- http://ytyaru.hatenablog.com/entry/2019/01/06/000000
$ sudo apt-get install -y git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
$ sudo apt-get install gcc make wget curl git openssl build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
Raspbianのバージョンやインストール状況などで変わる。インストール済みか否かは以下で確認できる。grep
する文字列をインストール対象に変更すればすべて確認できる。
$ apt list | grep libncurses
調べた限りでは以下。[インストール済み]
がないものは未インストール。コマンド系(git
, gcc
, make
, wget
, curl
)は実行するとすべて既存だったので割愛。
- openssl/stable,stable,stable,stable,now 1.1.0f-3+deb9u2 armhf [インストール済み、自動]
- libssl-dev/stable,stable,stable,stable 1.1.0f-3+deb9u2 armhf
- libbz2-dev/stable,stable,stable,stable 1.0.6-8.1 armhf
- libreadline-dev/stable,stable,stable,stable 7.0-3 armhf
- libsqlite3-dev/stable,stable,stable,stable 3.16.2-5+deb9u1 armhf
- build-essential/stable,stable,stable,stable,now 12.3 armhf [インストール済み]
- zlib1g-dev/stable,stable,stable,stable,now 1:1.2.8.dfsg-5 armhf [インストール済み、自動]
- llvm-3.8/stable,stable,stable,stable,now 1:3.8.1-24+rpi1 armhf [インストール済み、自動]
- llvm-3.8-runtime/stable,stable,stable,stable,now 1:3.8.1-24+rpi1 armhf [インストール済み、自動]
- libllvm3.8/stable,stable,stable,stable,now 1:3.8.1-24+rpi1 armhf [インストール済み、自動]
- libllvm3.9/stable,stable,stable,stable,now 1:3.9.1-9+rpi1 armhf [インストール済み、自動]
- libncurses5/stable,stable,stable,stable,now 6.0+20161126-1+deb9u2 armhf [インストール済み]
- libncursesw5/stable,stable,stable,stable,now 6.0+20161126-1+deb9u2 armhf [インストール済み]
- xz-utils/stable,stable,stable,stable,now 5.2.2-1.2 armhf [インストール済み]
- tk-dev/stable,stable,stable,stable 8.6.0+9 armhf
対象 | 推測 |
---|---|
libssl-dev | ネットワーク通信。Python標準ライブラリにあるので必須? |
libbz2-dev | ファイル圧縮。Python標準ライブラリにあるので必須? |
libreadline-dev | CUI入力。Python標準ライブラリにあるので必須? |
libsqlite3-dev | データベース。Python標準ライブラリにあるので必須? |
tk-dev | GUI。Python標準ライブラリにもあるがQtなどを使ってもいいので任意 |
所感
相変わらずPythonの環境構築は面倒かつ難解。