2014-01-06 5 views
4

Я пытаюсь получить свой псевдоним ipython, чтобы быть постоянным, и согласно документам функция% store magic предлагает эту функцию. Но это не работает для меня.ipython% магазин магии не работает

[email protected]:/tmp$ echo 'print("hello world!")' > test.py 
[email protected]:/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)? 
[email protected]:/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+

ответ

8

Вам необходимо запустить %store -r для извлечения сохраненных переменных (и псевдонимы).

Конечно, вы можете добавить это в свой скрипт запуска ipython.

+1

ОК. Для ubuntu 13.10 это сработало, добавив мою магию в '~/.config/ipython/profile_default/startup/wim.ipy' – wim

+0

Спасибо @wim, не знали о возможности даже запускать ipy-файлы запуска (знали только используйте обычные файлы python), но это делает его очень легким для меня, поскольку 'store -r' не работает для меня каким-то образом – tim

1

Вы также можете восстановить в обычном сценарии, например, если ваш IDE (Spyder) не поддерживает ipython_config.py файл:

from IPython import get_ipython 
ipython = get_ipython() 
ipython.magic("store -r") 

(Поместить это в файле, который называется на вкладке Автозагрузка Spyder-х Конфигурация IPython. Это заняло слишком много времени, чтобы понять.)

Смежные вопросы