概要
2020-02-05-raspbian-buster-fullで、Python3.5.3を無事インストールできた。
背景と目的
とある事情で、2020-02-05-raspbian-buster-fullで、Python3.5.3をインストールする必要が出たので、方法をメモる。
詳細
0.条件
- Raspberry Pi 4 Model B
- 2020-02-05-raspbian-buster-full
OSイメージを焼いた直後のものを使用。
1.pyenvをインストール
ネット上を探るといろいろやり方があるようだが、ここではpyenvを使用することにした。
まず、githubからpyenvを落とす。gitは初めから入っているので、
sudo git clone https://github.com/pyenv/pyenv.git echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile exec "$SHELL" exit
で、シェルを一度出て入りなおすと使えるようになる。
2.Python3.5.3をインストールしてみる
pyenvの使い方に従い、以下を実行。10~15分くらいかかるか?
pyenv install 3.5.3
しかし、残念ながら警告が出てしまった。
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib? WARNING: The Python readline extension was not compiled. Missing the GNU readline lib? WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?
実際、インストールされたPython3.5.3で、bz2やsqlite3というパッケージは、インポートできなかった。
3.追加のライブラリを入れて再インストール
おそらく、警告が出たものに関連したライブラリがないのが原因だろうと思い、こちらを参考に、以下を実行してから差インストールを行った。
sudo apt-get update sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev
結果、警告なく完了。
Installed Python-3.5.3 to /home/pi/.pyenv/versions/3.5.3
実際に、Pythonを起動し、問題のものをインポートしてみると、
Python 3.5.3 (default, Feb 9 2020, 21:45:00) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import bz2 >>> import sqlite3
となった。これで、一応Python3.5.3が使えるようだ。
まとめと今後の課題
2020-02-05-raspbian-buster-fullで、Python3.5.3をインストールできた。