检查所有导入的python模块中的代码更改

时间:2008-09-24 12:21:03

标签: python

几乎每个Python Web框架都有一个运行wsgi应用程序的简单服务器,并在每次更改源时自动重新加载导入的模块。我知道我可以查看代码,看看它是如何完成的,但这可能需要一些时间,而我只是出于好奇而要求。有没有人知道这是如何实现的?

2 个答案:

答案 0 :(得分:2)

作为其中一个重新加载机制(werkzeug中的一个)的作者,我可以告诉你它不起作用。如果监视器线程注意到文件系统上的一个模块发生了更改,那么所有重新加载器都会执行一次并重新启动子进程。

内联reload()不起作用,因为不会更新对重新加载的模块的引用。

答案 1 :(得分:1)

reload()不起作用。 “重新加载”通常通过分叉来实现。

实现“真正的”重载()非常困难,即使是最严重的尝试,twisted.python.rebuild并不完美。