让我们面对现实吧,更改后重新加载 python 代码的整个业务是一团糟。不久前我发现调用import <module>
解释器比调用更好from <module> import <class/function>
,因为这样我就可以调用reload(module)
来获取更新的代码。
但我现在有更复杂的问题。所以我有这个文件,module1.py,在顶部它说:
from module2 import <class1>, <function1>, etc.
然后我去修改module2里面的代码。事实证明,调用reload(module1)
不会重新加载在 module2 中更改的代码,即使来自 module2 的代码是在 module1 的顶部导入的。有没有办法在不重新启动解释器的情况下重新加载所有内容?
在任何人谈论我的风格之前,我只想说:
- 我只
reload
从解释器调用,从不在活动代码中调用。这个问题与我测试新代码时有关。 - 我从不打电话
<module> import *
,我知道这会破坏可读性