python開発環境を整える -pyenv編その1-

outline

pyenvはシェルスクリプトだけで作成されたpython開発環境整備ツールである。バージョン指定でpythonをインストールしたり、さらにvirtualenvを用いてpyenvでインストールしたpythonを使用したり、特定のディレクトリの配下だけのvirtualenvを作成したりすることが可能である。基本的にはUNIX上での1ユーザを単位として、そのユーザが使用するpythonを柔軟に変更できる。


忙しい人のためのpyenvインストール

ががっといってみよう。以下のコマンドをそのまま貼り付けて実行してお

# VERSION変更したければ変えてね
sudo yum install -y vim gcc gcc-c++ make git patch openssl-devel zlib-devel readline-devel sqlite-devel bzip2-devel
 
cd ~
git clone git://github.com/yyuu/pyenv.git .pyenv
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile
 
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
 
exec $SHELL
 
VERSION=2.7.5
pyenv install $VERSION
pyenv rehash
pyenv global $VERSION

上記のシェルを流し込むと、カレントユーザのpythonが2.7.5になる。


How to Install(ゆっくりする人はこちらから)

では、時間のある人はこちらから。細かい使い方は後で説明するとして、何はともあれインストールしてみる。

0. 必要なパッケージのインストール

事前段階として、pythonのビルド用に必要なパッケージをざざっと

# こんだけありゃいけるらしい
sudo yum install -y vim gcc gcc-c++ make git patch openssl-devel zlib-devel readline-devel sqlite-devel bzip2-devel

1. git clone

まずはソースのインストール

# ホームディレクトリに移動
cd ~
 
# current directoryの".pyenv"ディレクトリにcloneする
git clone git://github.com/yyuu/pyenv.git .pyenv 

2. .bash_pfofileもしくは.bashrcへの追記

# 環境変数PATHに.pyenvを追加
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile
 
# shims(pyenv内のシステムのひとつと思っておけばおk)を有効にする
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

2.1 補足ifってる人もいた

上記の.bash_profileに手心を加えてる人もいて、

# 一部抜粋
cat ~/.bash_profile
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
fi

こんなふうにしてる人もいた

3. シェルの再実行

# シェルを再実行しる
exec $SHELL

これでpyenv自体のインストールは完了。


pyenvを用いて特定バージョンのpythonをインストールしてみる

pyenv installコマンドを用いて、pythonをインストールする。このinstallは当然ユーザに紐づくものなので、システムpythonには影響を及ぼさない。

# インストールできるpython(jythonとかもある)の確認
pyenv install -l
Available versions:
  2.5
  2.5.1
  2.5.2
  2.5.3
  2.5.4
  2.5.5
  2.5.6
  2.6-dev
  2.6.6
  2.6.7
  2.6.8
  2.7
  2.7-dev
  2.7.1
  2.7.2
  2.7.3
  2.7.4
  2.7.5
 
...いっぱい出てくるので略...
 
# バージョン指定でインストール(この場合はpython2.7.5がインストールされる)
pyenv install 2.7.5
 
# shimバイナリのリビルドの実行。お約束だと思って。
pyenv rehash

pyenvのアップデート(っていうかgit commandのおさらい)

pyenvのアップデートはgitを使って行う。

cd ~/.pyenv
 
# 最新版ソースを持ってくる
git fetch
 
# タグの確認、2013年5月24日の段階ではversion0.2.0がリリースされていた
git tag
v0.1.0
v0.1.1
v0.1.2
v0.2.0
 
git checkout v0.2.0

各バージョンのインストール先の確認

先ほど、pyenv installコマンドでインストールされたpythonのインストール先を見てみる

# 絶対パスで表示される
pyenv prefix 2.7.5
/root/.pyenv/versions/2.7.5 

pyenv localとかpyenv globalとかの詳しい使い方とかは次回書くお。


Comments