[Raspberry Pi 3]pyenvを使う
Raspberry Pi上でいろんなバージョンのPythonを使ってみたいっていう時に役に立つのがこのpyenv。
これを使うとデフォルトで起動するPythonのバージョンをいろんなものに変更できる。
また、バージョンごとにライブラリとかをインストールするので、万が一環境が壊れて変なことになったとしても、使ってたバージョンを消すだけで大丈夫。
他のバージョンのPythonには一切影響を及ぼさない。
元々Raspberry Piに入っていたPython環境を汚さずに済むっていうのも大きなメリット。
pyenvのインストール
まずは必要なものをインストールして、gitからpyenvをクローンする。
1 2 | $ sudo apt-get install -y git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev $ git clone git://github.com/yyuu/pyenv.git ~/.pyenv |
~/.bash_profileに以下を追記する。
※これだけでうまくいかなかった時は,.bashrcにも追記して同じくsourceしてみる。
1 2 3 | export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" |
そんで設定を反映する。
1 | $ source ~/.bash_profile |
(PATHを通しても動かない時は、.bash_profile内で.bashrcを読み込む設定になっているか確認したり、.bash_profileを削除したりすると動くかもしれない。万人に有効な方法かは分からないが、自分の環境ではこれらの方法が有効だったので一応記載しておく。)
Pythonのインストール
以下のコマンドでインストールできるPythonのバージョンを確認。
1 | $ pyenv install --list |
そしてバージョンを指定してインストール。
1 | $ pyenv install 3.6.1 |
デフォルトのバージョン設定
インストールしたPythonのバージョンを確認。
1 | $ pyenv versions |
そしてデフォルトに指定。
1 | $ pyenv global 3.6.1 |
複数のバージョンをデフォルトに選択することもできる。その場合、1番目に指定したバージョンが優先して呼び出される。
下の例では3.6.1が優先的に呼び出される。
1 | $ pyenv global 3.6.1 2.7.13 |
ここでglobalのバージョンが切り替わらない時は,ホームフォルダに「.python_version」というフォルダがないか確認してほしい。
こいつが悪さしている可能性が高いので、このファイルを削除すればうまく動くはず。
あとは、パスが.pyenv配下のpythonを向いていることが確認できればばOK。
1 2 3 | $ which python # 下のように.pyenvを指してればオッケー # /home/pi/.pyenv/shims/python |
この記事へのコメントはこちら