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

Répondre à