Проверка изменений кода во всех импортированных модулях Python - PullRequest
1 голос
/ 24 сентября 2008

Почти каждый веб-фреймворк Python имеет простой сервер, который запускает приложение wsgi и автоматически перезагружает импортированные модули каждый раз, когда изменяется источник. Я знаю, что могу посмотреть на код и увидеть, как это делается, но это может занять некоторое время, и я просто из любопытства. У кого-нибудь есть идеи, как это реализовано?

Ответы [ 2 ]

2 голосов
/ 24 сентября 2008

Как автор одного из механизмов перегрузки (тот, что в werkzeug), я могу сказать вам, что он не работает. Все, что делают перегрузчики, - это разветвление и перезапуск дочернего процесса, если поток монитора замечает, что один модуль изменился в файловой системе.

Inline reload() ing не работает, поскольку ссылки на перезагруженный модуль не обновляются.

1 голос
/ 24 сентября 2008

reload () не работает. «Перезагрузка» обычно осуществляется путем разветвления.

Реализация "реальной" перезагрузки () чрезвычайно трудна и даже самая серьезная попытка, twisted.python.rebuild не идеальна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...