2

最近,我开始研究virtualenv但遇到了ipython. 我使用创建了虚拟环境

virtualenv --no-site-packages ENV

从 ENV 内部(即之后source bin/activate),我安装了ipython.

pip install ipython

然而,ipython在 ENV 中使用后,我在使用“普通”版本时遇到了问题。基本上,我收到以下警告:

WARNING: Configuration file ipythonrc not found. Ignoring request.

WARNING: Problems loading configuration file 'ipythonrc'
Starting with default -bare bones- configuration.

系统范围ipython的版本是 0.10(仍然使用 Kubuntu 10.04 LTS),而 ENV 内部的版本是 0.13。显然,配置发生了变化。如果我删除文件夹$HOME/.ipython/并启动系统范围的安装,一切都会再次正常运行。但是一旦我ipython从 ENV 中启动,内容 $HOME/.ipython/就会被替换,特别是文件ipythonrc 被删除。

所以我的问题是,如何防止两个ipythons 使用同一个文件夹$HOME/.ipython/进行配置?

4

2 回答 2

3

将环境变量设置为$IPYTHONDIR您的虚拟环境中的某个值。IPython 配置位置是相对于它确定的,因此您只需要添加export IPYTHONDIR="$VIRTUAL_ENV/.ipython"或类似于您的激活(并在停用时进行适当的反转)。

于 2012-07-21T00:24:54.823 回答
1

我建议为 virtualenv 版本使用不同的配置文件。

一种选择是在bin/activate文件中添加别名。

这样的事情应该可以解决问题:

alias ipython="ipython -rcfile $VIRTUAL_ENV/.ipythonrc"

或者,将IPYTHONDIR变量设置为$VIRTUAL_ENV/.ipython/也应该有效。此选项在联机帮助页中显示为未记录,但代码显示它正在使用该选项。

于 2012-07-20T18:12:58.253 回答