IPython是很是方便的交互式python环境,但默认不能识别virturalenv. python
解决方案很简单:函数
写一个配置脚本让IPython识别virtualenv,将virtualenv的包放到sys.path中.net
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
保存到~/.ipython目录下,取名virtualenv.py。code
另外在~/.ipython/ipy_user_conf.py中的main函数最后添加以下代码:blog
execf('~/.ipython/virtualenv.py')
当在virtualenv中执行ipython时,就okay了,效果以下:ip
Develop:user@machine :~$ ipython VIRTUAL_ENV -> /home/user/.virtual_python/lib/python2.5/site-packages
英文原文连接:http://blog.ufsoft.org/2009/1/29/ipython-and-virtualenvget