我明白IPython不支持virtualenv,最合理的解决方案是在每个虚拟环境中单独安装IPython。
pip install ipython
目前为止一切都很顺利。我注意到的一件事是,如果在虚拟环境中安装IPython之前使用$> ipython
调用系统范围内的IPython,那么随后的$> ipython
命令将继续启动系统范围内的ipython副本。
另一方面,如果在虚拟环境下安装IPython之前未调用ipython,则$> ipython
将启动新安装的ipython副本。
这是什么原因呢?
这也让我想知道这种行为是否意味着我将来会遇到麻烦?
ipython
可执行文件的位置(请参见此问题)。 - Thomas Khash -r
,它会清除之前运行命令的缓存,通常作为激活环境的一部分执行。请检查 ENV/bin/activate 中是否有hash -r
命令。 - minrkhash -r
在激活环境之前可以解决这个问题。FYI,我正在使用virtualenv 1.10.1。 - Mo Sander