やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

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. 現状確認
  2. システム更新
  3. インストール

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 のディスク容量が消費されます。
...

 なお、必要なツールは以下を参考にした。

$ 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 GUIPython標準ライブラリにもあるがQtなどを使ってもいいので任意

所感

 相変わらずPythonの環境構築は面倒かつ難解。