2 votes

Commandes Django manage.py lentes ; problème de zlib suspecté

Lorsque je développe des applications Django sur ma machine locale (un MacBook OSX 10.8), l'exécution des commandes Django (via l'interface manage.py) est extrêmement lente, beaucoup plus lente que sur un ordinateur portable identique au travail. Au travail, l'exécution de python manage.py runserver est essentiellement instantanée, mais sur cette machine qui fonctionne même python manage.py --help prend entre 15 et 30 secondes.

Je soupçonne qu'il s'agit d'un problème avec le module zlib installé sur mon mac, en raison de ce qui suit : l'exécution de Python en mode verbeux affiche le message suivant

# zipimport: zlib available

étant imprimé près de mille fois avant que toute manage.py se terminera. Le temps nécessaire à l'impression de tous ces messages est à peu près égal à la différence de temps d'exécution de la commande manage.py sur mes ordinateurs locaux et professionnels.

Je pense que j'ai une sorte d'importation circulaire, mais je ne suis pas vraiment sûr de la direction à prendre pour résoudre ce problème.

Le problème ci-dessus apparaît à la fois lorsque zlib est installé via Homebrew, et lorsque seul le module par défaut du système est en place.

Voici un exemple de la production typique de l'exploitation python -v manage.py --help sur ma machine.

Merci pour votre aide !

0voto

bjacobel Points 56

Je pense avoir résolu le problème, ou du moins masqué ses effets. J'avais la ligne suivante dans mon .bashrc :

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages

ce qui provoquait toutes sortes de choses bizarres, notamment l'utilisation par Python de copies de modules à l'extérieur de mes environnements virtuels au lieu de copies à l'intérieur de l'environnement. Je soupçonne toujours que zlib est cassé (et peut-être des parties plus importantes de l'installation Python de mon système OSX) mais en supprimant cette ligne de mon fichier .bashrc a résolu le manage.py au moins.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X