Короче
Как заставить интерпретатор Python загружать самую последнюю версию кода моего модуля каждый раз, когда я вношу некоторые изменения в код модуля?
Или хотя бы перезагрузите последнюю измененную версию, набрав
>>> from myModule import *
в консоль, без необходимости перезапускать всю консоль Python и настраивать все снова и снова каждый раз, когда я вношу какие-то изменения? Это крайне неприятное поведение для отладки.
--------- БОЛЬШАЯ ИСТОРИЯ -----------
Я пытался удалить файл .pyc и снова импортировать его, но это не помогло. Он даже не создает файл .pyc снова, поэтому я ожидаю, что он полностью проигнорирует мою команду «импорт», если модуль уже загружен.
это тоже не помогает:
>>> mymodule.myfunc() # the old version
>>> del myModule # unload mymodle from python conole / interpeter
... # now I removed .pyc
... # now I make some modifications in mymodule.myfunc() code
>>> mymodule.myfunc() # module is unknonwn, ... OK
>>> import myModule # try to load modified version
>>> mymodule.myfunc() # stil the old version :(((((, How it can remember?
Я также пробовал Spyder, где эта функция называется "Удаление пользовательских модулей (UMD)" http://pythonhosted.org/spyder/console.html#reloading-modules-the-user-module-deleter-umd, который, как я думал, должен делать именно так, но вроде нет (да, я проверил, что он включен).
Может быть, я что-то упускаю - может кто-нибудь объяснить мне, как это должно использоваться?
На это как-то влияет тот факт, что импортированный модуль находится не в «Рабочем каталоге», а в PYTHONPATH?