Bonjour, Sauf erreur, le mail de Sébastien Durand daterait de 2011, j'espère qu'il avait trouvé une réponse entre temps :)
Le 14 avril 2015 20:38, François GUÉRIN <[email protected]> a écrit : > Le 09/03/2011 21:11, Sébastien Durand a écrit : > >> 1. Est-ce qu'il est possible de désactiver la sauvegarde des fichiers > > .pyc dans un environement de développement ? > > > > Non, il n'y a pas moyen de supprimer ces fichiers, ils sont générés par > l'interpréteur, c'est du code pré-compilé pour accélérer les traitements. > Tu peux toutefois passer l'argument -B à ton interpréteur, mais ça n'a pas > beaucoup d’intérêt : un IDE va les masquer pour toi, et tu dois les ajouter > dans ton .gitignore ou svn:ignore ou ... selon ton VCS. Je ne suis pas entièrement d'accord avec cette réponse, il existe une variable d'environnement, PYTHONDONTWRITEBYTECODE, qui est détectée par Python qui n'écrit pas de fichier .pyc. D'autre part, dans plusieurs distributions (entre autres Ubuntu) un executable "pyclean" existe qui sert justement à supprimer tous ces fichiers .pyc du répertoire courant et de tous les sous-répertoires. Enfin, le contrôle de ces fichiers pyc est très important : si on supprime ou déplace un fichier .py sans supprimer l'éventuel fichier .pyc associé, le code correspondant sera toujours vu par python, et cela peut sérieusement causer des soucis dans le code. Exemple : vous créez un module csv.py, et dans un module au sein du même package vous tentez d'importer le module "csv" de la librairie standard. Bien sûr vous vous retrouvez à importer le module local csv.py (à ceci près des règles d'import relatif et absolu). Vous vous en rendez compte, et vous renommez csv.py en csv_project.py, vous réessayez, et patatras, même bug : python a lu votre csv.pyc qui est resté là au lieu du csv de la lib standard. Dans ce cas c'est un exemple simple. Quand on part sur des cas avec des imports automatiques etc, ca peut être beaucoup plus complexe à détecter. Cordialement, Joachim Jablon
_______________________________________________ django mailing list [email protected] http://lists.afpy.org/mailman/listinfo/django
