1

在 Ipython 0.10 中,可以从命令行运行脚本,然后从交互模式,立即访问命名空间中的名称:

ipython -i some_script.py

%whos
    tom
    dick
    jane

我现在使用 Python 3.3.2 和 IPython 1.1.0。在某个地方,这种行为发生了变化。现在我得到:

ipython3 -i some_script.py

%whos
    Interactive namespace empty

我现在必须启动 IPython,然后 %run 脚本以保留命名空间:

ipython3 -i
%run some_script.py
%whos
    tom
    dick
    jane

是否有命令行选项或技术会给我旧行为?我试过了

ipython3 -i -c "%run some_script.py"

但这也不起作用。

我知道,这是一件懒惰的事情,但是少一步可以加快调试速度。

4

1 回答 1

2

重新发布作为答案:名称实际上被放置在您的交互式命名空间中,但是当 IPython 启动时定义的名称从 隐藏%whos,所以它说命名空间是空的,即使它不是。如果您尝试使用这些名称,它们应该可以正常工作。

于 2013-11-07T23:58:29.213 回答