1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RaspberryPiにpyenvを入れて複数のPython動かすよ

Last updated at Posted at 2019-05-12

#経緯
事の発端は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になりまくった

1
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?