pyenvで幸せになろう.py
TRANSCRIPT
OSC 名古屋 で LT でやったら人が増えた!
増えなかったら死にたくなるとこだった…
pyenv で幸せになろう .py
Python 東海 第 27 回 勉強会2015/05/30@2box2bo
お前だれよ• 名前:坪内 由孝 @2box2bo
• ブログ: http://www.zumwalt.info/blog• 所属: (☝ ՞ ਊ ՞)☝ ウィーンなユーザー会 (Eject コマンドユーザー会 ) Python 東海 共同管理人 Ingress 緑組 L11 へたれ agent AhiruYaki User Group あひる釣り師
複数のバージョンの Pythonを
使いたいこと。ありませんか?
実現できます。
そう、 pyenv ならね。
準備しないといけないですが。
必要にせまられた理由• 既存の 2 系で書いたスクリプトも使いたいけ
ど、 3 系のスクリプトも動かさなきゃいけない
• CentOS 6 でやってたコンパイルインストールが 7 では無事に死亡した。
インストール
環境• CentOS 6 (7 でもいけるはず )
• Python 2.7.9
• python 3.4.3
必要モジュールのインストール# yum install gcc gcc-c++ make git openssl-devel bzip2-devel zlib-devel readline-devel sqlite-devel patch
pyenv のセットアップ 1
# git clone git://github.com/yyuu/pyenv.git /usr/local/pyenv
bash.rc の編集 ( 以下を追記する )# tail ~/.bashrc # PyEnv Value export PYENV_ROOT="/usr/local/pyenv" export PATH="/usr/local/pyenv/bin:$PATH" eval "$(pyenv init -)"
pyenv のセットアップ 2
pyenv に Python をインストール# pyenv install 3.4.3# pyenv install 2.7.9
pyenv のセットアップ 3
virtualenv と pyenv 連携の設定# cd /usr/local/pyenv/plugins/# git clone https://github.com/yyuu/pyenv-virtualenv.git
# git clone https://github.com/yyuu/pyenv-virtualenvwrapper.git
pyenv のセットアップ 4
virtualenv 連携のため bashrc を再度修正※セットアップ 1 で追記した部分の修正 if [ -f /usr/local/pyenv/bin/pyenv ]; then export PYENV_ROOT=“/usr/local/pyenv" export PATH="/usr/local/pyenv/bin:$PATH" eval "$(pyenv init -)" PS1='(pyenv:`pyenv version-name`)'$PS1 fi
Python 環境のセットアップ
現在の環境の確認# pyenv versions* system (set by PYENV_VERSION environment variable) 2.7.9 3.4.3
仮想環境の作成Python 3.4.3 で AhiruYaki という火葬環境を作る# pyenv virtualenv 3.4.3 AhiruYaki
環境設定デフォルトの Python 設定# pyenv global 2.7.9
shell の Python 設定# pyenv shell AhiruYaki
ディレクトリの Python 設定対象のディレクトリに移動して実行#pyenv local AhiruYaki
幸せになるところ
幸せになれるとこ• シェル・ディレクトリ単位で Python の動作バ
ージョン指定ができる
• 仮想環境単位でモジュールの管理ができる→ 同じバージョンの Python でモジュールを使い分けれる
仮想環境毎にモジュール管理仮想環境毎にモジュールの管理が可能(pyenv:AhiruYaki)[root@157-7-109-119 ahiruyaki]# pip freezesimplejson==3.7.2
(pyenv:3.4.3)[root@157-7-109-119 ahiruyaki]# pip freeze
何もなしー
実際にやってみる
べ、別にこのはちゃんのステマじゃないんだからね!
こんな感じで幸せになれます