检查所有导入的python模块中的代码更改
时间:2020-03-06 14:39:28 来源:igfitidea点击:
几乎每个Python Web框架都有一个运行wsgi应用程序的简单服务器,并在每次更改源时自动重新加载导入的模块。我知道我可以看一下代码,看看它是如何完成的,但这可能需要一些时间,我只是出于好奇而问。有谁知道这是如何实现的?
解决方案
作为一种重新加载器机制(werkzeug中的一种)的作者,我可以告诉我们它不起作用。如果监视器线程注意到文件系统上的一个模块已更改,则所有重新加载器的工作是进行一次分叉并重新启动子进程。
内联reload()
无效,因为未更新对重装模块的引用。
reload()不起作用。 "重新加载"通常是通过分叉实现的。
实现"真实的" reload()非常困难,甚至是最严重的尝试,twist.python.rebuild也不是完美的。