Я запускаю IPython из основной папки /project
. Теперь, если я вношу изменения в файл /project/tests/some_module.py
, изменения не будут автоматически загружены в IPython. Кроме того, после сохранения изменений я получаю следующее сообщение и хочу запустить в командной строке еще один script:
[autoreload of some_module failed: Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/IPython/extensions/autoreload.py", line 229, in check
superreload(m, reload, self.old_objects)
ImportError: No module named some_module]
Кажется, он обнаружил, что изменения были сделаны внутри папки /tests
, но он не может ее импортировать. Может кто-нибудь помочь мне с этим?
Edit:
Для лучшего уточнения: я запускаю IPython из терминала в основной папке. В этой папке у меня есть другая папка tests
. Внутри tests
У меня есть два файла python:
some_module.py
def hello_world():
print "Hello World!!!"
use_some_module.py
from some_module import hello_world
hello_world()
Как только я запустил IPython, дальнейшие изменения в some_module.py не будут загружены в IPython. Например, если я добавлю второй print "Hello Earth!!!"
в определение hello_world()
и запустив run tests/use_some_module.py
, я получу сообщение об ошибке, показанное выше, и вы получите только печать "Hello World!!!"
.
Edit2. Я хотел бы получить решение, в котором мне не нужно либо изменять рабочий каталог, либо добавлять какие-либо пути поиска вручную. Я хочу, чтобы он загружался автоматически с помощью автозагрузки.