Raspberry Pi3にPyenvをいれてみた。環境構築メモ

ハード:Raspberry Pi3
OS:Raspbian Jessie
SSH接続して使う環境下での記録です。

pyenvについて

複数のバージョンが異なるPythonを一か所に共存させて切り替えて使用させることができる。
システム添えつけのPython環境をいじらないのでシステムファイルをいじりたくない場合に便利。
Python環境とライブラリをセットにして自分の開発環境を組んでおける。

githubに詳しい説明がありますのでこちらを読んでください。

自分の場合はPythonそのもののアップデートやライブラリの無尽蔵なインストールとアンインストール
などでシステム添えつけの環境を破壊してしまったら怖いのでpyenvを使ってみることにした。

通常の場合だとRaspbianのPython環境は以下の場所に収められている。

/usr/bin

自分の場合はPython2.7と3.4が入っていた。

pyenvを使うと、次のような配置で新しい専用の場所を確保し、Python環境を構築するようになる。
なんかへまをやっても/.pyenv以下をrmしてしまえばいいので大丈夫…なはず。

/home/pi/.pyenv

Raspberry Pi3に入れる手順

※Macユーザーの場合はhomebrewを使うことでインストールができるけどRaspbianはLinuxbrewを使ってもインストールできない。

インストールにあたり参考にさせていただいたサイトはこちらです。たくのこ Web Ubuntuにpyenvを用いてpythn環境を構築しました。

パッケージのインストール

sudo apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev

.pyenvを作成してそこにpyenvをクローンする。

git clone git://github.com/yyuu/pyenv.git ~/.pyenv

.bashrcにパスを設定してpyenvを使えるようにする。

まずは.bashrcを見付けよう。ということで/home/piに移動する。
次に以下のコマンドでフォルダの中身を表示する。

ls -a

オプションで-aをつけることで普段は見れないファイルやフォルダを見れるようになる。
せっかくなのでこの時にちゃんと/home/piの内部に.pyenvが作られているか確認しておこう。
続いて.bashrcを設定するべくエディタで開く。vim以外のほかの何でもよい。

sudo vim .bashrc

.bashrcはbashの環境設定が記述されている。
ファイルブラウズする際の色分けに関する設定や環境変数などを収めてある。
末尾に以下の設定を記載する。

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

.bashrcの変更を保存したら。

source .bashrc

のコマンドをたたいて変更を有効にする。

Pyenvの利用

まずは、いままでの導入作業が報われているか確かめよう。

pyenv

とコマンドをターミナルでたたけばちゃんと動くはずだ。

PyenvにPythonを入れてみる。

そのままの状態ではpyenvの環境は空っぽなのでお好みのpython環境をインストールしてやる必要がある。

pyenv install --list

pyenvでインストールすることができるpythonのバージョンを一覧で見ることができる。
また、パッケージ管理ソフトもあるので好きな組み合わせを使うことができる。

pyenv install 2.7.12

僕の場合はこんな感じで2.7.12をチョイスしてみた。※miniconda-latestも試しに入れてみた。
インストールには結構時間がかかる。20分くらいかかっただろうか。その間はほかのことをして待っておいたほうが良い。
なおanacondaやminicondaなどはnumpyなどの外部のライブラリが一緒に備わっている状態のパッケージであるが、
Raspberry piでは利用できない場合があるので注意が必要。
次にpyenvに正しくインストールされたか確認するために以下のコマンドで導入された環境を確認する。

pyenv versions

するとこんな感じで一覧がでるはず。

*system (set by /home/pi/.pyenv/version)
  2.7.12
  miniconda-latest

*がついているのは現在指定されているpython環境を表している。
試しにここでターミナルからpythonをたたいてみよう。すると自分の場合はpython2.7.9が立ち上がった。
この場合だとRaspbianに添えつけて備わっている環境が動いているようだ。
そこでpyenvの2.7.12を使うべく切り替えのコマンドをたたく。

pyenv global 2.7.12

この後にまたpyenv versionsをたたいてみると2.7.12に*マークがつくはずだ。
この状態でpythonをたたいてやれば2.7.12が呼び出される。

あとは好きなようにパッケージのインストールをしたりプログラムを作ればよい。
ということでほかに気付いたことがあったら随時追記していきます。

参考リンク

たくのこ Web Ubuntuにpyenvを用いてpythn環境を構築しました。
https://github.com/yyuu/pyenv
http://www.itmedia.co.jp/help/tips/linux/l0284.html