半空洞男女関係

思ったこととかプログラミングしてるときのメモとか色々かいてます。メールはidそのままgmail

iPython0.12でconfigの場所が変わったので virtualenvと共存する時ちょっと変わった

概要

iPython便利ですね。補完が大変便利なんですけど、そのままだとvirtualenvを使えない。だから、pythonbrewとvenvコマンドを使ってPythonの開発環境を作っていると特別な設定をしてやらなきゃならない。それについてはイアンさんが書いてくれている。

http://www.ianlewis.org/jp/ipython-virtualenv

でも、iPythonのバージョンアップが行われて、0.12になったとたん設定ファイルの場所が変わった。どうやら.config/ipython/以下になっているらしくて、まぁ色々変わったらしい。詳しく知れなかったけれども、イアンさんが書いていたのと同じ事が出来たっぽいのでメモしておく。

ステップ1 プロファイルを作る

$ ipython profile create

これで、~/.config/ipython/以下にプロファイルができる。

ステップ2 環境変数VIRTUAL_ENVをPythonのサイトディレクションに設定するスクリプトを書く

~/.config/ipython/profile_default/にvirtualenv.pyという名前で以下のスクリプトを保存しておく。

import site
from os import environ
from os.path import join
from sys import version_info

if 'VIRTUAL_ENV' in environ:
    virtual_env = join(environ.get('VIRTUAL_ENV'),
                       'lib',
                       'python%d.%d' % version_info[:2],
                       'site-packages')
    site.addsitedir(virtual_env)
    print 'VIRTUAL_ENV ->', virtual_env
    del virtual_env
del site, environ, join, version_info

(イアンさんのページに書かれているスクリプトを便宜上転載しました)

ステップ3 起動時にさっきのスクリプトを読むようにする

同じディレクトリにipython_config.pyっていうファイルがあって、これがコンフィグファイルなのでここにこう書きこむ。

load_subconfig('virtualenv.py')


これでOK。たぶん、importとかちゃんとできます。おしまいです。