2008-10-18 1 views
1

Мы использовали Trac для отслеживания задач/дефектов, и все шло хорошо, но сегодня утром он начал обслуживать 500 ошибок. Глядя в error_log Apache, я получаю трассировку стека, которая достигает высшей точки в:Как вы исправите установку Trac, которая начинает давать ошибки, связанные с PYTHON_EGG_CACHE?

 
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 

Так что я явно установить PYTHON_EGG_CACHE в/SRV/ПРОФ/плагин-кэш. Я перезапустил Apache. Тем не менее, я получаю ту же ошибку (она по-прежнему говорит, что «каталог кеша яйца установлен на: \ n \ n /.python_eggs.»)

Как мне продолжить? Простейшая вещь, чтобы сделать, чтобы переустановить Trac? Если я пойду по этому маршруту, какие шаги я должен предпринять, чтобы не потерять существующие данные?

ответ

5

Это должно быть зафиксировано в 0.11 согласно их bug tracking system.

Если это не так, вы должны попытаться передать среду var в apache, так как выполнение SetEnv в файле конфигурации не работает. Добавление чего-то вроде

export PYTHON_EGG_CACHE=/tmp/python_eggs 

к скрипту, который вы используете для запуска apache, должен работать.

1

Я столкнулся с той же проблемой при обновлении с Trac 10.4 до 0.11 в начале этого года. Что-то должно было измениться, чтобы эта проблема только что появилась - обновленная установка Python или Apache?

Я не помню всех перестановок, которые я пытался решить, но мне пришлось использовать SetEnv PYTHON_EGG_CACHE /.python-eggs и создавать /.python-eggs с разрешениями 777. Это не могло бы быть лучшим решением, но это устранило проблему.

Я никогда не исследовал причину первопричины. Как отмечает agnul, это может быть исправлено в следующей версии Trac.

1

Я боролся с биткой с PYTHON_EGG_CACHE, и я никогда не выяснил, как правильно ее установить - envvars от apache, httpd.conf (SetEnv и PythonOption), ничего не сработало. В конце концов я просто распаковал все яйца python вручную, их было всего два или три - проблема исчезла. Я никогда не понимал, почему на земле люди заархивируют файлы с весом не более нескольких килобайт в первую очередь ...

0

У меня была та же проблема. В моем случае директория не была там, поэтому я создал и chown'ed ее для пользователя apache (apache в моем пакете centos 4.3). Затем убедитесь, что у него есть права на чтение и запись в каталоге. Вы можете обойтись, предоставив права rw каталогу, если группа, которая владеет каталогом, содержит пользователя apache. Простой ps aux | grep httpd должен показать вам, на какой учетной записи работает ваш сервер, если вы этого не знаете. Если у вас возникли проблемы с поиском каталога, запомните -a в команде ls, так как это «скрытый» каталог.

0

Я обнаружил, что использование директивы PythonOption в конфигурации сайта не работа, но SetEnv сделал. Тем не менее, будет работать и маршрут переменной окружения.