Pythonをはじめるにあたって、最初に行うOS標準のPythonに依存しない環境構築の解説とサンプルコードになります。
この環境を利用することでプロジェクトや目的に応じて様々なバージョンのPython実行環境とライブラリを使い分けることができます。
手っ取り早く環境を構築したい人はdirenv、Pythonz、Virtualenvをインストールして このサンプルコードについて を見てください。
- MacOSX
- Homebrewインストール済み
-
プロジェクトのディレクトリに cd するだけで、自動的に環境を切り替えする
-
様々なバージョンのPythonをOS標準とは別にインストールする
-
システムとは別にプロジェクト用のPythonライブラリをインストールする
インストール
$ brew install direnv
初期設定、bashの場合は~/.bashrcに下記を追記
# ~/.bashrc
eval "$(direnv hook bash)"
# zshrcの場合の追記内容
# eval "$(direnv hook zsh)"
$ curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python # システムにpipが入ってなければ
$ pip install virtualenv
$ pip install virtualenvwrapper
$ curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash
下記をbashrcかzshrcに追記する
# ~/.bashrc
[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc
bashrc(もしくはzshrcとか)設定後、設定のリロードをしてない場合は読み込んでおく
$ source ~/.bashrc
お好みのバージョンのPythonをPythonzでインストールしておく
$ pythonz install 2.7.9
これで~/.pythonz/pythons/CPython-2.7.9/
に指定したバージョンのPythonがインストールされる
次にプロジェクト用のディレクトリを作成して新たにインストールしたPythonの環境として初期化する
$ mkdir -p ~/your/project/root
$ virtualenv -p ~/.pythonz/pythons/CPython-2.7.9/bin/python ~/your/project/root
$ # direnvを設定
$ cat << EOT > ~/your/project/root/.envrc
PATH_add bin
sh bin/activate
EOT
これでcdするとプロジェクト設定が読み込まれてカスタマイズされた環境でPythonを実行できます。
$ cd ~/your/project/root
direnv: loading .envrc
direnv: export ~PATH
.envrc is blocked.
ってエラーが出る場合はdirenv allow .
する
$ cd ~/your/project/root
direnv: error .envrc is blocked. Run `direnv allow` to approve its content.
$ direnv allow .
direnv: loading .envrc
direnv: export ~PATH
ローカルのパスへのリンクとかがあるためVirtualenvがつくったファイルとかはgitにコミットしない方が良さそうなので.gitignoreで除外しておくケースが多いかもしれない。
# .gitignore
/bin
/include
/lib
.envrc
つくったディレクトリを適当にエディタでオープンすれば設定されると思います、多分。。
direnvがインストール済みであれば、cdするだけでPythonzとVirtualenvのインストールと初期設定と 環境を作ってみるの内容を自動で行うので手っ取り早くpythonの環境が手に入ります。
start.shでウェブサーバーのサンプルを実行します。
git clone https://github.com/WHITEPLUS/how-to-start-python.git
cd how-to-start-python
./start.sh # サーバーを起動してブラウザを開きます