CentOSでpyenvとはpythonをインストールしてpython環境を構築する
環境
CentOS6
はじめに
勝手な解釈をすると、
pyenv
pyenvとはpythonのバージョンを複数同居させる際にデフォルトのpythonバージョンを自由に切り替える事が出来るもの。
pythonは2系と3系で互換性が無い為、バージョンが異なるpythonを実行する際に切り替えたりする。
virtualenv
virtualenvとはプロジェクト毎に違うバージョンを使い分けたい時などに、ディレクトリ毎にバージョンを切り替える事が出来る。
pyenvと組み合わせて利用する?
手順
pyenvインストール
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
bash_profile編集
vi ~/.bash_profile
追記
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)"
設定反映
source ~/.bash_profile exec $SHELL -l
バージョン確認
pyenv -v pyenv 1.0.0-35-g8305eae
続いてvirtualenvのインストール
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
bash_profile編集
vi ~/.bash_profile
追記
eval "$(pyenv virtualenv-init -)"
設定反映
source ~/.bash_profile exec $SHELL -l
インストール完了
実際にpyenvを使ってみる
インストール可能なディストリビューション、バージョンのリスト確認
pyenv install -l
バージョンを指定してインストール
pyenv install 2.7.10 pyenv install 3.5.0
インストールしたバージョンのリスト確認
pyenv versions * system (set by /root/.pyenv/version) 2.7.10 3.5.0
デフォルトで使用するバージョンの変更
pyenv global 3.5.0
変更後バージョンを確認
python -V Python 3.5.0
続いてvirtualenvを利用してみる
試しに、test_envというpython環境をバージョン3.5.1を指定して作成する
pyenv virtualenv 3.5.0 test_env
何かメッセージ出たけどスルーして良いみたい?
Ignoring indexes: https://pypi.python.org/simple Requirement already satisfied (use --upgrade to upgrade): setuptools in /root/.pyenv/versions/3.5.0/envs/test_env/lib/python3.5/site-packages Requirement already satisfied (use --upgrade to upgrade): pip in /root/.pyenv/versions/3.5.0/envs/test_env/lib/python3.5/site-packages [
作成された事を確認
pyenv versions system 2.7.10 * 3.5.0 (set by /root/.pyenv/version) 3.5.0/envs/test_env 3.5.0/envs/test_hoge test_env
ディレクトリ作成
mkdir -p ~/work/new_project && cd ~/work/new_project/
test_env環境を指定
pyenv local test_env
コンソールはじめに(test_env)って文字列が表示される
(test_env) [root@localhost new_project]#
環境を指定したディレクトリには.python-versionってファイルが作成される
ls -a .python-version .python-version
バージョン確認
python -V Python 3.5.0
環境削除
pyenv uninstall test_env pyenv-virtualenv: remove /root/.pyenv/versions/3.5.0/envs/test_env? y
削除された事を確認
[root@localhost work]# pyenv versions system 2.7.10 * 3.5.0 (set by /root/.pyenv/version) 3.5.0/envs/test_hoge
ちなみにpython_pathは以下らしい
~/.pyenv/versions/3.5.0/lib/python3.5/