ipython 0.12 と virtualenv を同時に使う方法

ipython と virtualenv を同時に使う方法 - Ian Lewis はとても便利な設定なので参考にさせてもらっていたんだけれど、 IPython 0.12 からは設定の方法が変わったのでこの設定方法では動かなくなった。

IPython 0.12 での設定方法は、 (1) ipython profile create を実行してデフォルトプロファイルを作る、 (2)~/.config/ipython/profile_default/startup/ 以下に 00-ipython.py などの名前で次の内容のファイルを作成する

def _load_venv():
    import os
    if 'VIRTUAL_ENV' in os.environ:
        activate_this = os.path.join(os.environ['VIRTUAL_ENV'], 'bin/activate_this.py')
        with open(activate_this) as f:
            exec(f.read(), dict(__file__=activate_this))

_load_venv()
del _load_venv

これで、mkvirtualenv する度に pip install ipython しなくても良くなる。

このブログに乗せているコードは引用を除き CC0 1.0 で提供します。