让我们面对现实吧,更改后重新加载 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 *,我知道这会破坏可读性