Python開発環境構築
本ページの新しい情報を以下のページに記載しました。
anyenvによるPython環境構築 (2017/10/21)
目的
Mac上以下の条件を満たす、Python環境を構築する
- 複数バージョンのPythonを切り替えられること
- プロジェクトごとにパッケージを分離できること
環境
- OSX El Capitan(10.11.1)
- zsh
- Homebrew(0.9.5) インストール済み
ツール説明
-
pyenv
複数バージョンのPythonを簡単に切り替えられるようにするツール。rbenvとruby-buildからフォークしてPython用に変更された。 -
virtualenv
分離されたPython環境を作成るためのツール。環境ごとに違うパッケージを入れることができる。 -
pyenv-virtualenv
pyenv のプラグイン。インストールするとpyenv virtualenv
コマンドが使えるようになる。
内部的には virtualenv を呼び出している模様。
インストール
- pyenv と pyenv-virtualenv のインストール
$ brew install pyenv-virtualenv
- シェルの設定ファイルに設定追加
~/.zshrc
# pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
export PYENV_ROOT=/usr/local/var/pyenv
# pyenv-virtualenv
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
- 設定ファイル再読み込み
$ source ~/.zshrc
使い方
Python
インストール
Python 3.4.3をインストールする場合以下を実行。
$ pyenv install 3.4.3
私の環境だと、3.4.3 のインストールで
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
というエラーが出たので、こちらに従い
CFLAGS="-I$(brew --prefix openssl)/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
pyenv install -v 3.4.3
を実行し、インストールした。
インストール可能なバージョン一覧
$ pyenv install -l
インストール済みのバージョン一覧
$ pyenv versions
仮想環境
仮想環境の作成
Python 3.4.3 の仮想環境を作成する場合
$ pyenv virtualenv 3.4.3 myenv343
pyenvのversionに登録されることが確認できる
$ pyenv versions
* system (set by /usr/local/var/pyenv/version)
3.4.3
myenv343
フォルダに環境をセットする
projecjt-aフォルダを作成し、myenv343環境をセットする場合
$ mkdir project-a
$ cd project-a
$ pyenv local myenv343
これでproject-aフォルダに移動すると、自動的にmyenv3.4.3の環境となる。
$ cd project-a
(myenv343)$ python --version
Python 3.4.3
(myenv343)$ exit
$ cd ~
$ python --version
Python 2.7.10
仮想環境の削除
$ pyenv uninstall myenv343