Вопрос

Этот вопрос уже имеет ответ здесь:

Я хочу, чтобы изменения изменения вступили в силу немедленно во время развития. Как я могу обнаружить измененные файлы и перезагрузить их в запущенном приложении Python (2.7)?

Редактировать:

Прочитав страницы, связанные «Ivo Van der Wijk», я думаю, что будет лучше всего перезапустить веб-приложение при изменении кода - как Django делает. Таким образом, фактический вопрос: Как контролировать модификации файлов?

Это было полезно?

Решение

Этот вопрос был задан а. количество из времена

Вы можете использовать перезагрузку (модуль) для этого, но остерегайтесь неприятных побочных эффектов. Например, существующий код будет основан на оригинальном коде, он не будет волшебным образом получить новые атрибуты или добавленные базовые материалы.

Другие советы

Я хотел такой же эффект для некоторых моих сценариев Python, поэтому я продолжал и сделал сценарий SourceChangeMonitor.py. Вы можете найти это с инструкциями здесь. Отказ Если вы просто хотите скрипт, здесь это прямая ссылка

Это не имеет смысла для большинства приложений, потому что вы получите побочные эффекты, используя reload. Отказ Плюс время, когда вы проводите на коде, который обнаруживает изменения и перезагрузки всех модулей, могло быть потрачено на просто перезапуск приложения. Это очень сложно, если вы импортируете много модулей или имеете проект, который содержит много подмодулей.

В некоторых случаях это хорошая идея, хотя. Веб-каркас Django предоставляет сервер разработки (manage.py runserver) Это автоматически перезагружает измененные модули. Посмотрите на django.utils.autoreload - Это тестирует все файлы Python для модификаций с использованием времени модификации файлов. Как уже говорилось, это всего лишь хорошая идея для некоторых приложений. Веб-приложения несколько случаются и, таким образом, могут быть перезагружены с небольшим количеством побочных эффектов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top