Как вы исправляете установку Trac, которая начинает давать ошибки, связанные с PYTHON_EGG_CACHE? - PullRequest
1 голос
/ 18 октября 2008

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

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 / trac / plugin-cache. Я перезапустил Apache. Тем не менее, я получаю ту же ошибку (она все еще говорит, что "текущий каталог каталогов яиц установлен на: \ n \ n /.python_eggs.")

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

Ответы [ 5 ]

5 голосов
/ 18 октября 2008

Это должно быть исправлено в 0.11 согласно их системе отслеживания ошибок .

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

export PYTHON_EGG_CACHE=/tmp/python_eggs

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

1 голос
/ 18 октября 2008

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

1 голос
/ 18 октября 2008

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

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

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

0 голосов
/ 02 января 2009

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

0 голосов
/ 20 октября 2008

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

...