2013-07-25 2 views
2

я сделать следующее в моей записной книжке IPython:Как заставить IPython видеть обновленную библиотеку?

import sys 
sys.path.append('my_directory') 
from db import * 

Он отлично работает. Но затем я добавил новую функцию в db.py, и IPython ее не видит. Все в порядке. Но он этого не видит, даже если я закончил повторное выполнение ячейки, которая импортирует все. Он не видит его, даже если я перезагружу пользователя. Он не видит этого, даже если я закрываю ноутбук IPython и перезагружаю его.

Каким образом заставить IPython (или python) видеть обновленное содержимое файла?

+1

Я думаю, что это то, что вы ищете http://stackoverflow.com/questions/1907993/autoreload-of-modules-in-ipython –

ответ

3

Необходимо использовать автозагрузку. Проверьте руководство по адресу http://ipython.org/ipython-doc/dev/config/extensions/autoreload.html. Похоже, вам необходимо:

%autoreload 2 

Вышеупомянутая информация автоматически перезагрузит все импортированные модули. Кроме тех, которые указаны в отдельном специальном списке модулей, указанных в файле% aimport modulename. Они будут загружены автозагрузкой, если вы укажете% autoreload 1.