¿Cómo arreglas una instalación de Trac que comienza a dar errores relacionados con PYTHON_EGG_CACHE?

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

Pregunta

Hemos estado usando Trac para el seguimiento de tareas / defectos y las cosas iban bastante bien, pero esta mañana comenzó a mostrar un error 500. Buscando en el error_log de Apache, obtengo un seguimiento de pila que culmina en:

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

Así que puse explícitamente PYTHON_EGG_CACHE en / srv / trac / plugin-cache. Reinicié Apache. Sin embargo, recibo el mismo error (todavía dice que el directorio de caché de huevo está establecido en: \ n \ n /.python_eggs.")

¿Cómo debo proceder? ¿Lo más sencillo es volver a instalar Trac? Si tomo esa ruta, ¿qué pasos debo seguir para asegurarme de no perder los datos existentes?

¿Fue útil?

Solución

Se debería corregir en 0.11 según su sistema de seguimiento de errores .

Si ese no es el caso, deberías intentar pasar el entorno var a apache, ya que hacer un SetEnv en el archivo de configuración no funciona. Añadiendo algo como

export PYTHON_EGG_CACHE=/tmp/python_eggs

al script que usas para iniciar apache debería funcionar.

Otros consejos

Me encontré con el mismo problema al actualizar Trac 10.4 a 0.11 a principios de este año. Algo debe haber cambiado para que este problema haya aparecido repentinamente: ¿una instalación actualizada de Python o Apache?

No recuerdo todas las permutaciones que intenté resolver esto, pero terminé teniendo que usar SetEnv PYTHON_EGG_CACHE /.python-eggs y crear /.python-eggs con 777 permisos. Esta podría no ser la mejor solución, pero solucionó el problema.

Nunca investigué cuál era la causa raíz. Como agnul dice que esto puede haberse solucionado en una versión posterior de Trac.

He luchado muchas batallas con PYTHON_EGG_CACHE y nunca he descubierto la forma correcta de configurarlo: los entornos de Apache, httpd.conf (SetEnv y PythonOption), nada funcionó. Al final simplemente desempaqué todos los huevos de pitón manualmente, de todos modos solo había dos o tres, el problema se había ido. Nunca entendí por qué, en primer lugar, la gente comprime archivos que no pesan más de unos pocos kilobytes ...

Tuve el mismo problema. En mi caso, el directorio no estaba allí, así que lo creé y lo envié al usuario de apache (apache en mi caja de centos 4.3). Luego se aseguró de que tuviera permisos de lectura y escritura en el directorio. Podría pasar por dar derechos de rw al directorio si el grupo que posee el directorio contiene el usuario de apache. Un simple ps aux | grep httpd debería mostrarle en qué cuenta se está ejecutando su servidor si no lo sabe. Si tiene problemas para encontrar el directorio, recuerde el comando -a en el comando ls ya que está " oculto " directorio.

Descubrí que usar la directiva PythonOption en la configuración del sitio no funcionó , pero SetEnv sí. Sin embargo, la ruta de la variable de entorno también funcionará.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top