CentOS に pyenv をインストールする方法をまとめました。ここでは使用方法については触れていません。
pyenvのインストール
初めに依存ライブラリのインストールをします。
# yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel
Common build problems · yyuu/pyenv Wiki · GitHub
Git がインストールされてない場合はしてください。また、大体入ってると思いますが G++ コンパイラも必要になると思うのでインストールしておきます。
# yum install git gcc-c++
CentOSに最新版のGitをインストール・アップデートする方法 - TASK NOTES
CentOSに新しいバージョンのGCC/G++(4.8/4.9)をインストールする - TASK NOTES
pyenv のリポジトリを clone します。以下、rootで実行していきます。
# cd /usr/local/src/ # git clone https://github.com/yyuu/pyenv.git
clone できたら PATH の設定と、起動時にpyenv init
を実行するように profile に追加します。ここでは全ユーザーが使用できるように/etc/profile.d/
に作成していますが、個人ユーザーでのインストールであれば~/.bashrc
などでもいいです。
echo 'export PYENV_ROOT="/usr/local/src/pyenv"' >> /etc/profile.d/pyenv.sh echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /etc/profile.d/pyenv.sh echo 'eval "$(pyenv init -)"' >> /etc/profile.d/pyenv.sh
シェルを再起動すると pyenv の PATH が通っていると思います。
# exec $SHELL -l # pyenv --version pyenv 20151124-6-g96bfa15
pyenv-virtualenvのインストール
yyuu/pyenv-virtualenv · GitHub
pyenv の plugins ディレクトリに virtualenv のリポジトリを clone します。
# cd /usr/local/src/pyenv/plugins/ # git clone https://github.com/yyuu/pyenv-virtualenv.git
pyenv と同様にpyenv virtualenv-init
を実行するように profile に追加してください。シェルを再起動すると virtualenv のコマンドが使用できるようになっています。
# echo 'eval "$(pyenv virtualenv-init -)"' >> /etc/profile.d/pyenv.sh # exec $SHELL -l # pyenv virtualenv --version pyenv-virtualenv 20151103 (conda conda 3.18.5)
pyenv-updateのインストール
pyenv のアップデートをしたい場合は、インストールディレクトリに移動してgit pull
をすれば アップデートは可能ですが、コマンドで実行できるようにしておきたいと思います。plugins ディレクトリに移動してリポジトリを clone しましょう。
# cd /usr/local/src/pyenv/plugins/ # git clone git://github.com/yyuu/pyenv-update.git
完了したらpyenv update
コマンドが使用できるようになっていますので、実行すると以下のように pyenv 本体と plugins を更新してくれます。
# pyenv update Updating /usr/local/src/pyenv... remote: Counting objects: 8, done. remote: Compressing objects: 100% (7/7), done. remote: Total 8 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (8/8), done. From https://github.com/yyuu/pyenv * branch master -> FETCH_HEAD Updating 96bfa15..aaec358 Fast-forward plugins/python-build/share/python-build/2.7.11 | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) create mode 100644 plugins/python-build/share/python-build/2.7.11 Updating /usr/local/src/pyenv/plugins/pyenv-update... From git://github.com/yyuu/pyenv-update * branch master -> FETCH_HEAD Already up-to-date. Updating /usr/local/src/pyenv/plugins/pyenv-virtualenv... From https://github.com/yyuu/pyenv-virtualenv * branch master -> FETCH_HEAD Already up-to-date.
pyenv-installerを使ってインストールする
ここまで色々とやってきましたが pyenv-installer を使用すれば一回でプラグインもまとめてインストールすることができます。ただし、デフォルトでは実行ユーザーのホームディレクトリにインストールされますので気を付けましょう。
$ curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 104 2087 104 2087 0 0 17946 0 --:--:-- --:--:-- --:--:-- 407k Initialized empty Git repository in /home/vagrant/.pyenv/.git/ remote: Counting objects: 11391, done. remote: Compressing objects: 100% (8/8), done. remote: Total 11391 (delta 1), reused 0 (delta 0), pack-reused 11382 Receiving objects: 100% (11391/11391), 2.02 MiB | 1.26 MiB/s, done. Resolving deltas: 100% (8004/8004), done. Initialized empty Git repository in /home/vagrant/.pyenv/plugins/pyenv-doctor/.git/ remote: Counting objects: 26, done. Receiving objects: 100% (26/26), 45.50 KiB, done. remote: Total 26 (delta 0), reused 0 (delta 0), pack-reused 26 Resolving deltas: 100% (10/10), done. ... WARNING: seems you still have not added 'pyenv' to the load path. # Load pyenv automatically by adding # the following to ~/.bash_profile: export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
実行後は最後に表示されている設定を他と同じように profile に追加して完了です。