OVH Cloud OVH Cloud

plroblème génération .pyc

7 réponses
Avatar
Erwan Scouarnec
Voilà le problème que je viens de rencontrer avec python:

Python n'a pas regénéré certains fichiers .pyc alors que le .py avait
changé est-ce normal ??? Cà arrive parfois ???? ..... je croyais qu'il
générait tout en automatique dès qu'il y avait un chagement dans les
fichier source.

7 réponses

Avatar
Encolpe Degoute
Voilà le problème que je viens de rencontrer avec python:

Python n'a pas regénéré certains fichiers .pyc alors que le .py avait
changé est-ce normal ??? Cà arrive parfois ???? ..... je croyais qu'il
générait tout en automatique dès qu'il y avait un chagement dans les
fichier source.


Dans Zope oui, pas forcément ailleurs.
Dans Zope cela arrvie dans deux cas:
- Le fichier pyc a une date de modification postérieure à celle du py
- Le module/script python n'est plus importé ou utilisé

Cordialement,
--
Encolpe DEGOUTE
http://encolpe.degoute.free.fr/
Logiciels libres, hockey sur glace et autres activités cérébrales

Avatar
Andréï
Voilà le problème que je viens de rencontrer avec python:

Python n'a pas regénéré certains fichiers .pyc alors que le .py avait changé
est-ce normal ??? Cà arrive parfois ???? ..... je croyais qu'il générait tout
en automatique dès qu'il y avait un chagement dans les fichier source.


Salut,
je ne suis pas un pro, mais si python devait vérifier la correspondance
entre le py et le pyc à chaque éxécution, il n'y aurait plus aucun
intêret à précompiler en bytecode les imports.

Donc je pense que python vérifi la présence du pyc, et s'il est présent
l'exécute

Dans ton cas efface simplement les pyc et ca devrait aller

Avatar
Jerome
Andréï wrote:
Voilà le problème que je viens de rencontrer avec python:

Python n'a pas regénéré certains fichiers .pyc alors que le .py avait
changé est-ce normal ??? Cà arrive parfois ???? ..... je croyais qu'il
générait tout en automatique dès qu'il y avait un chagement dans les
fichier source.



Salut,
je ne suis pas un pro, mais si python devait vérifier la correspondance
entre le py et le pyc à chaque éxécution, il n'y aurait plus aucun
intêret à précompiler en bytecode les imports.

Donc je pense que python vérifi la présence du pyc, et s'il est présent
l'exécute

Dans ton cas efface simplement les pyc et ca devrait aller




S'il vérifiait juste la présence, à chaque modification il faudrait
effacer les pyc, ça serait moyen comme solution ;-)


Avatar
Do Re Mi chel La Si Do
Bonjour !

Comme l'a dit Encolpe, le .py n'a sans doute pas été utilisé.
Python ne vérifie un fichier que lors de son exécution.

@-salutations

Michel Claveau
Avatar
bruno at modulix
Andréï wrote:
Voilà le problème que je viens de rencontrer avec python:

Python n'a pas regénéré certains fichiers .pyc alors que le .py avait
changé est-ce normal ??? Cà arrive parfois ???? ..... je croyais qu'il
générait tout en automatique dès qu'il y avait un chagement dans les
fichier source.



Salut,
je ne suis pas un pro, mais si python devait vérifier la correspondance
entre le py et le pyc à chaque éxécution, il n'y aurait plus aucun
intêret à précompiler en bytecode les imports.


Si. Comparer les dates du .py et du .pyc est suffisamment rapide pour
que ça vaille le coup.

Donc je pense que python vérifi la présence du pyc, et s'il est présent
l'exécute


Il vérifie la présence du .pyc *et* compare la date du .pyc à la date de
modif du .py *et* recompile si nécessaire.


Avatar
bruno at modulix
Erwan Scouarnec wrote:
Voilà le problème que je viens de rencontrer avec python:

Python n'a pas regénéré certains fichiers .pyc alors que le .py avait
changé est-ce normal ??? Cà arrive parfois ???? ..... je croyais qu'il
générait tout en automatique dès qu'il y avait un chagement dans les
fichier source.


Seulement quand le module est importé, et la gestion se fait par
comparaison de la date de modif du .py avec la date de création du .pyc.

Ca te donne deux pistes:
- le module n'a pas été importé
- il y a une anomalie dans les dates

Avatar
Andréï
Je finirais ma journée moins bête.
merci
:D