Посмотрим правде в глаза, весь процесс перезагрузки кода python после его изменения - беспорядок. Я немного сообразил, что вызов import <module>
у интерпретатора лучше, чем from <module> import <class/function>
, потому что тогда я могу вызвать reload(module)
, чтобы получить обновленный код.
Но у меня сейчас более сложные проблемы. Поэтому у меня есть этот файл module1.py, а наверху он говорит:
from module2 import <class1>, <function1>, etc.
И затем я иду и меняю код внутри модуля2. Оказывается, вызов reload(module1)
не перезагружает код, измененный в модуле2, даже если код из модуля2 импортируется в верхней части модуля1. Есть ли способ перезагрузить все без перезапуска интерпретатора?
Прежде чем кто-нибудь узнает о моем стиле, я просто скажу, что:
- Я вызываю
reload
только из интерпретатора, никогда в активном коде. Этот вопрос касается того, когда я тестирую новый код. - Я никогда не звоню из
<module> import *
, я знаю, что уничтожает читаемость