Comment réparer une installation Trac qui commence à donner des erreurs relatives à PYTHON_EGG_CACHE?

StackOverflow https://stackoverflow.com/questions/215267

Question

Nous utilisons Trac pour le suivi des tâches et des défauts et tout se passait bien, mais ce matin, il a commencé à afficher une erreur 500. En regardant dans le journal des erreurs Apache, je reçois une trace de pile qui aboutit à:

PythonHandler trac.web.modpython_frontend:
  ExtractionError: Can't extract file(s) to egg cache

The following error occurred while trying to extract file(s) to the Python egg
cache:

  [Errno 13] Permission denied: '/.python-eggs'

The Python egg cache directory is currently set to:

  /.python-eggs

Perhaps your account does not have write access to this directory?  You can
change the cache directory by setting the PYTHON_EGG_CACHE environment
variable to point to an accessible directory

J'ai donc explicitement défini PYTHON_EGG_CACHE sur / srv / trac / plugin-cache. J'ai redémarré Apache. Pourtant, la même erreur se produit (il est toujours indiqué que le répertoire courant du cache-œufs est défini sur: \ n \ n /.python_eggs.")

Comment dois-je procéder? Est-ce la plus simple à faire pour réinstaller Trac? Si je m'engage dans cette voie, quelles étapes dois-je suivre pour ne pas perdre les données existantes?

Était-ce utile?

La solution

Cela devrait être corrigé dans la version 0.11 en fonction de leur système de suivi des bogues .

Si ce n'est pas le cas, vous devriez essayer de passer la variable d'environnement à apache, car faire SetEnv dans le fichier de configuration ne fonctionne pas. Ajouter quelque chose comme

export PYTHON_EGG_CACHE=/tmp/python_eggs

le script que vous utilisez pour démarrer apache devrait fonctionner.

Autres conseils

J'ai rencontré le même problème lors de la mise à niveau de Trac 10.4 à 0.11 plus tôt cette année. Quelque chose a dû changer pour que ce problème apparaisse soudainement - une installation mise à jour de Python ou Apache?

Je ne me souviens pas de toutes les permutations que j'ai tentées de résoudre, mais j'ai finalement dû utiliser SetEnv PYTHON_EGG_CACHE /.python-eggs et créer /.python-eggs avec les autorisations 777. Ce n'est peut-être pas la meilleure solution, mais cela résout le problème.

Je n’ai jamais cherché à savoir quelle était la cause fondamentale. En tant que agnul indique que cela a peut-être été corrigé dans une version ultérieure de Trac.

J'ai beaucoup lutté contre PYTHON_EGG_CACHE et je n'ai jamais trouvé la bonne façon de le régler: les envvars d'Apache, httpd.conf (SetEnv et PythonOption), rien n'a fonctionné. À la fin, je viens de déballer tous les œufs de python à la main, il n’y avait que deux ou trois de toute façon - le problème est parti. Je n'ai jamais compris pourquoi les gens compressaient des fichiers ne pesant pas plus de quelques kilo-octets au départ ...

J'ai eu le même problème. Dans mon cas, le répertoire n'était pas là, donc je l'ai créé et renvoyé à l'utilisateur apache (apache sur ma boîte centos 4.3). Ensuite, assurez-vous qu'il dispose d'autorisations en lecture-écriture sur le répertoire. Vous pourriez vous contenter de donner des droits rw au répertoire si le groupe qui le possède contient l'utilisateur apache. Un simple ps aux | grep httpd devrait vous montrer sous quel compte votre serveur est exécuté si vous ne le connaissez pas. Si vous ne parvenez pas à trouver le répertoire, rappelez-vous de la commande -s sur la commande ls car il s'agit d'un "masqué". répertoire.

J'ai constaté que l'utilisation de la directive PythonOption dans la configuration du site ne fonctionnait pas , mais que SetEnv le faisait. La variable d'environnement route fonctionnera également.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top