Je veux des changements de code pour prendre effet immédiatement pendant le développement. Comment détecter les fichiers modifiés et les recharger dans l'application Python exécutant (2.7)? P>
EDIT: P>
Après avoir lu les pages liées par "Ivo van der Wijk", je pense qu'il serait préférable de redémarrer l'application Web lorsque le code change - comme Django. Donc, la question réelle est la suivante: Comment surveiller les modifications du fichier? p>
3 Réponses :
Cette question a été posée A numéro de fois p>
Vous pouvez utiliser recharge (module) pour cela, mais méfiez-vous des effets secondaires méchants. Par exemple, le code existant sera basé sur le code d'origine, il ne recevra pas de nouveaux attributs ou basoclasses ajoutés par magie. P>
Cela n'a pas de sens pour la plupart des applications, car vous obtiendrez des effets secondaires en utilisant Dans certains cas, c'est une bonne idée cependant. Le Django Web Framework fournit un serveur de développement ( recharger code>. Plus le temps que vous passez sur le code qui détecte les modifications et rechargez tous les modules aurait pu être dépensé pour simplement redémarrer l'application. Il est très compliqué si vous importez de nombreux modules ou si vous avez un projet contenant de nombreux sous-modules. P>
gérer.py runserver code>) qui recharge automatiquement les modules modifiés. Jetez un coup d'œil au
django.utils.Autoreload code> - Il teste tous les fichiers Python pour des modifications à l'aide de l'heure de modification des fichiers. Comme indiqué précédemment, ce n'est qu'une bonne idée de certaines applications. Les applications Web sont quelque peu apatrides et peuvent ainsi être rechargées avec peu d'effets secondaires. P>
Django recharge l'ensemble du programme lorsqu'un module change. Rechargement de modules individuels est extrêmement dangereux, d'autant plus que vous le faites pendant le développement lorsque les problèmes que cela provoqueront seront mélangés avec les bugs réels que vous essayez de résoudre, aggravant le problème.
Je voulais le même effet pour certains de mes scripts Python, alors je suis allé et a rendu le script Sourcechangonitoritor.py. Vous pouvez le trouver avec des instructions ici < / a>. Si vous voulez juste le script, ici est une valeur directe Lien p>
Merci je l'aime. Je l'ai porté à Python3 si quelqu'un est intéressé: github.com/makergeek/python-hotreload