python3.xも随分と普及してきたのでそれを標準にしてもいい気はするのですが、解説サイトとかチュートリアルとかをやる上で2.x系も多いので両方手軽にやるためにpyenvを導入しました。 まず足りないライブラリがある可能性があるので、いくつか放り込みます。僕の環境ではlibbz2-dev、libreadline-dev、libsqlite3-devが足りませんでした。以下に参考にしたサイトに書いてあったライブラリ等を記しておきます。
sudo apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
ホームディレクトリに.pyenvというフォルダを作成し、git cloneします。
mkdir ~/.pyenv git clone git://github.com/yyuu/pyenv.git ~/.pyenv
.bashrcに以下を追記
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)"
追加したら
source ~/.bashrc
しておきます。 そして
pyenv install --list
とするとインストール可能なpythonのバージョンが表示されます。とりあえず2.7..10と3.4.3をインストールしておくこととします。
pyenv install 2.7.10 pyenv install 3.4.3
割と時間がかかります。また、足りないライブラリがあった場合ここでエラーが出ます。 デフォルトに設定するpythonのバージョンはglobalコマンドで設定できます。
pyenv global 2.7.10
これで2.7.10が標準で使われます。 また、特定のディレクトリにおいてバージョンを変更するときはlocalコマンドを使います。カレントディレクトリに.python-versionが作成されバージョンを決めるようです。
mkdir hoge #適当にディレクトリを作る cd hoge pyenv local 3.4.3 pyenv local --unset #localの設定を削除
localコマンドで宣言すると、globalが2.7.10になっていてもhogeディレクトリでは3.4.3が使われます。優先度がこちらのほうが高いのです。
pyenv versions
とすると今現在どのpythonインタプリタが標準になっているかがわかります。今回の場合ならsystem、2.7.10、3.4.3が表示され、2.7.10にアスタリスクが付いているはずです。 こんなことやってる前にさっさとガリガリ書けって話なんですが眠いので許して…(言い訳になっていない