Как исправить установку Trac, которая начинает выдавать ошибки, связанные с PYTHON_EGG_CACHE?

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

Вопрос

Мы использовали Trac для отслеживания задач/дефектов, и все шло достаточно хорошо, но сегодня утром он начал выдавать ошибку 500.Просматривая error_log 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.Тем не менее, я получаю ту же ошибку (она все еще говорит: «Текущий каталог кэша яиц установлен на: /.python_eggs.")

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

Это было полезно?

Решение

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

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

export PYTHON_EGG_CACHE=/tmp/python_eggs

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

Другие советы

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top