pythonz + virtualenv + virtualenvwrapper でPython開発環境を作ってみる on MacOSX10.8


ちょっとした好奇心でPython + Django環境を作ってみたくなったので、そのときの作業メモを残しておきます。

例によってなるべくシステムを汚したくないので、分離してインストールできるようvirtualenvを使いました。

また、Pythonそのもののインストールにはpythonzというツールを使いました。
fork元はpythonbrewという名前でしたが、こちらはディスコンだと作者自ら公言しています。

ただ、pythonzはpythonbrewにあったswitchやvenvが無くなっているので、全く同じものというわけでもないようです。

pythonzのインストール&設定

curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash

~/.zshrcに以下追加

[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc

bashrcとなってますが、zshでも問題なさそうです。

そしてPython最新版(今日現在)のインストール

pythonz install 2.7.3

pythonsはswitchが無いので、パス直指定で起動します。

~/.pythonz/pythons/CPython-2.7.3/bin/python --version
Python 2.7.3

一見面倒ですが、virtualenvで吸収するのでとりあえず大丈夫です。

このあたり、プロジェクトに関わらず日常的にPythonを使う人はpythonbrewの方が便利な気もします。

virtualenv + virtualenvwrapperのインストール

これらは独立したツールなので、少々不本意ですがシステムに入れちゃいます。
homebrewで入れられたら良かったんですが、

brew search virtualenv
No formula found for "virtualenv". Searching open pull requests...

でした。

sudo easy_install virtualenv
sudo easy_install virtualenvwrapper
rehash

/usr/local/bin 以下に入ります。

インストールが終わるとこんなメッセージが表示されます。

#  1. Create a directory to hold the virtual environments.
#     (mkdir $HOME/.virtualenvs).
#  2. Add a line like "export WORKON_HOME=$HOME/.virtualenvs"
#     to your .bashrc.
#  3. Add a line like "source /path/to/this/file/virtualenvwrapper.sh"
#     to your .bashrc.
#  4. Run: source ~/.bashrc
#  5. Run: workon
#  6. A list of environments, empty, is printed.
#  7. Run: mkvirtualenv temp
#  8. Run: workon
#  9. This time, the "temp" environment is included.
# 10. Run: workon temp
# 11. The virtual environment is activated.

言うとおりにしましょう。

virtualenvの設定

.zshrcに以下追加

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

私はpythonzの設定を書いた下あたりに書きました。

virtualenv用ディレクトリの生成とzshrcの読み込み。

mkdir ~/.virtualenvs
source ~/.zshrc
rehash

仮想環境を作って入る

mkdir ~/py
cd ~/py
virtualenv -p $HOME/.pythonz/pythons/CPython-2.7.3/bin/python example
workon example

これで、シェルのプロンプトの頭に(example)と追加されます。

deactivate

で環境を抜けられます。

Djangoのインストール

(example)な状態で、

pip install django

これで仮想環境にDjangoがインストールされます。

あとは

django-admin.py startproject foo
cd foo
python manage.py runserver

で起動すればとりあえず導入は成功です。

後書き

ここまでやっては見たものの、Ruby on Railsと比べると情報源が限られている印象で、少し敷居は高めかなーと思いました。

  1. virtualenvもhomeに入れられますよ!
    tar.gzを取ってきて`python virtualenv.py –python=/usr/bin/python ~/local/python`とすると~/local/python以下にインストール出来ます。

    virtualenvwrapperもtar.gzをローカルに展開して`export VIRTUALENVWRAPPER=~/local/virtualenvwrapper-3.6/virtualenvwrapper.sh`とするだけです。

Leave a Comment