我试图让我的ipython别名持久化,并且根据文档,%store magic函数提供此功能。但这对我不起作用。
wim@SDFA100461C:/tmp$ echo 'print("hello world!")' > test.py
wim@SDFA100461C:/tmp$ ipython
In [1]: alias potato python /tmp/test.py
In [2]: potato
hello world!
In [3]: %store potato
Alias stored: potato (python /tmp/test.py)
In [4]:
Do you really want to exit ([y]/n)?
wim@SDFA100461C:/tmp$ ipython
In [1]: potato
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-1-e561f9248d75> in <module>()
----> 1 potato
NameError: name 'potato' is not defined
我正在使用IPython 1.1.0 / Python 2.7.5 +
答案 0 :(得分:9)
您需要运行%store -r
来检索存储的变量(和别名)。
当然,您可以将它添加到您的ipython启动脚本中。
答案 1 :(得分:1)
您也可以在常规脚本中恢复,例如,如果您的IDE(Spyder)不支持ipython_config.py
文件:
from IPython import get_ipython
ipython = get_ipython()
ipython.magic("store -r")
(把它放在Spyder的IPython配置的Startup选项卡中调用的文件中。这花了我太长时间才弄明白。)