Wie beheben Sie eine Trac-Installation, die im Zusammenhang gibt Fehler PYTHON_EGG_CACHE beginnt?
-
03-07-2019 - |
Frage
Wir haben für Aufgabe / Defect Tracking Trac wurde unter Verwendung und die Dinge liefen gut genug, aber an diesem Morgen begann es einen 500-Fehler serviert. Suchen Sie in der Apache error_log, erhalte ich einen Stack-Trace, die in gipfelt:
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
Also ich PYTHON_EGG_CACHE explizit auf / srv / trac / Plugin-Cache. Ich neu gestartet Apache. Doch ich den gleichen Fehler (es immer noch sagt: „Ei-Cache-Verzeichnis aktuelle Satz zu:. \ N \ n /.python_eggs“)
Wie soll ich vorgehen? Ist die einfachste Sache zu tun Trac neu zu installieren? Wenn ich diesen Weg gehen, welche Schritte muss ich ergreifen müssen, um sicherzustellen, dass ich nicht vorhandenen Daten verlieren?
Lösung
Das sollte in 0,11 nach ihrem Bug-Tracking-System fixiert werden.
Wenn das nicht der Fall ist, sollten Sie versuchen, die Umwelt var Apache zu passieren, da eine SetEnv in der Konfigurationsdatei zu tun funktioniert nicht. Hinzufügen etwas wie
export PYTHON_EGG_CACHE=/tmp/python_eggs
, um das Skript verwenden Sie Apache zu starten, sollte funktionieren.
Andere Tipps
Ich lief in das gleiche Problem, wenn sie von Trac 10,4-,11 früher in diesem Jahr zu aktualisieren. Etwas muss für dieses Problem geändert hat gerade zu haben plötzlich - eine aktualisierte Python oder Apache-Installation
Ich erinnere mich nicht alle Permutationen Ich habe versucht, dieses Problem zu lösen, aber ich landete mit SetEnv PYTHON_EGG_CACHE /.python-eggs
verwenden und erstellen /.python-eggs mit 777 Berechtigungen. Dies ist vielleicht nicht die beste Lösung sein, aber es das Problem behoben.
ich nie untersucht, was die Ursache war. Wie agnul sagt, diese in einer nachfolgenden Trac Version behoben worden sein.
Ich habe viele einen Kampf mit PYTHON_EGG_CACHE
gerungen haben und ich nie die richtige Art und Weise der Einstellung es herausgefunden - Apache envvars, httpd.conf (SetEnv und Python), nichts funktionierte. Am Ende packte ich nur alle Python Eier von Hand, es gab nur zwei oder drei sowieso - Problem verschwunden. Ich habe nie verstanden, warum auf der Erde Menschen Dateien nicht mehr als ein paar Kilobyte an erster Stelle Gewichtung zip ...
Ich hatte das gleiche Problem. In meinem Fall war das Verzeichnis nicht dort so habe ich und chown'ed es über an den Apache-Benutzer (Apache auf meinem CentOS 4.3 Kasten). Dann sorgte dafür, dass es auf das Verzeichnis Lese- und Schreibzugriff hat. Sie könnten mit Angabe rw-Rechte auf das Verzeichnis erhalten, indem, wenn die Gruppe, die das Verzeichnis besitzt den Apache-Benutzer enthält. Ein einfacher ps aux | grep httpd sollten Sie zeigen, was Konto Ihr Server unter ausgeführt wird, wenn Sie es nicht wissen. Wenn Sie Probleme bei der Suche das Verzeichnis mit der -a auf den Befehl ls erinnern, da es sich um eine „versteckte“ Verzeichnis ist.
Ich fand, dass die Python-Direktive in der Website mit Config hat nicht Arbeit, aber SetEnv tat. Die Umgebungsvariable Route wird auch obwohl arbeiten.