pythonaliasipythonipython-magic

IPython %store magic not persisting


I'm trying to get an IPython alias to persist, and according to docs the %store magic offers this feature. But it's not working:

$ echo 'print("hello world!")' > test.py
$ 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)? 
$ ipython
In [1]: potato
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-e561f9248d75> in <module>()
----> 1 potato

NameError: name 'potato' is not defined

What's missing?


Solution

  • You need to run %store -r to retrieve stored variables (and aliases).

    Of course, you can add this to your ipython startup script.