#経緯
事の発端はPyaudioを使おうとしたが、Python3.4より後に出たバージョンでは動かない。
なので、Python3.4をぶち込む
#環境
RaspberryPi3b+
stretch(Release 9.9)
Python3.5(元々)
GCC 4.8.5
#導入
RaspberryPiにpyenvでPython3環境を作るを参考にして入れていく。
前処理
$ sudo apt-get install -y git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
pyenvインストール
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
終わったら、path設定
$ sudo vi ~/.bashrc
# 以下の内容を追記
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
その後、再起動もしくは"source ~/.bashrc"を入力して設定を反映させましょう。
Pythonをインストール
$ pyenv install 3.4.1
・
・
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
・
・
Ignoring ensurepip failure: pip 2.1.1 requires SSL/TLS
まあ、なんかエラーが出る。
pyenv Ubuntu16.04 ERROR:
色々、入れていなかったみたい
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl
では再び、インストール
$ pyenv install 3.4.1
・
・
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
・
・
Ignoring ensurepip failure: pip 2.1.1 requires SSL/TLS
冗談だろ...
ラズパイ python3.5.1 インストール エラー
Debian 9 Stretchでは、libssl-devは、OpenSSL 1.1.xベースになっているので、あったlibsslを入れろとの事みたいです。
$ sudo apt install -y libssl1.0-dev
3度目の正直で、出来ました。
あとは、バージョン変更です。
$ pyenv global 3.4.1
確認
pi@raspberrypi:~ $ python -V
Python 3.4.1
元のPythonに戻るなら
$ pyenv global system
あとは、自分の環境だとPython3.4のpipが古かったのでpipの更新をしておく
$ pyenv global 3.4.1
$ pip install --upgrade pip
$ pip3 install --upgrade pip
$ pip --version
pip 19.1.1 from /home/.pyenv/versions/3.4.1/lib/python3.4/site-packages/pip (python3.4)
うん、いい感じ
#余談
$ sudo pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python3.5)
$ pip3 --version
pip 19.1.1 from /home/.pyenv/versions/3.4.1/lib/python3.4/site-packages/pip (python3.4)
癖でsudo付けてたらImportErrorになりまくった