Como você corrigir uma instalação Trac que começa a dar erros relacionados com PYTHON_EGG_CACHE?

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

Pergunta

Estamos usando Trac para a tarefa de rastreamento / defeito e as coisas estavam indo bem o suficiente, mas esta manhã ele começou a servir-se de um erro 500. Olhando no error_log Apache, recebo um rastreamento de pilha que culmina em:

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

Então, eu explicitamente conjunto PYTHON_EGG_CACHE para / srv / trac / plugin-cache. Eu reiniciado Apache. No entanto, eu recebo o mesmo erro (ele ainda diz "ovo diretório de cache atual conjunto para:. \ N \ n /.python_eggs")

Como devo proceder? É a coisa mais simples de fazer para reinstalar Trac? Se eu seguir esse caminho, quais os passos que eu preciso tomar para garantir que eu não perder os dados existentes?

Foi útil?

Solução

Isso deve ser fixado em 0,11 de acordo com sua bug sistema de rastreamento .

Se esse não é o caso, você deve tentar passar o ambiente var para apache, uma vez fazendo um SetEnv no arquivo de configuração não funciona. Adicionando algo como

export PYTHON_EGG_CACHE=/tmp/python_eggs

para o script que você usa para iniciar o Apache deve funcionar.

Outras dicas

Eu corri para o mesmo problema quando a atualização do Trac 10,4-,11 no início deste ano. Algo deve ter mudado para este problema ter apenas apareceu de repente? - uma instalação atualizados Python ou Apache

Eu não me lembro de todas as permutações que tentei resolver isso, mas acabei por ter de usar SetEnv PYTHON_EGG_CACHE /.python-eggs e criar /.python-eggs com 777 permissões. Isto pode não ser a melhor solução, mas corrigiu o problema.

Eu nunca investigou o que a causa raiz estava. Como agnul diz, este pode ter sido corrigido em uma versão posterior Trac.

Eu têm lutado uma batalha muitos com PYTHON_EGG_CACHE e eu nunca descobri a maneira correta de defini-lo - envvars do Apache, httpd.conf (SetEnv e PythonOption), nada funcionou. No final, eu apenas descompactado todos os ovos python manualmente, havia apenas dois ou três de qualquer maneira - problema foi. Eu nunca entendi por que na terra pessoas zip de arquivos não mais com peso do que alguns kilobytes em primeiro lugar ...

Eu tive o mesmo problema. No meu caso o diretório não estava lá, então eu criei e chown'ed-o para o usuário apache (apache no meu CentOS 4.3 caixa). Em seguida, fez certeza de que tinha as permissões de leitura e escrita no diretório. Você poderia começar perto com dando direitos rw para o diretório se o grupo ao qual pertence o diretório contém o usuário apache. Um simples ps aux | grep httpd deve mostrar o que a sua conta do servidor está sendo executado em se você não sabe disso. Se você tiver problemas para encontrar o diretório lembrar o -a no comando ls, pois é um "escondido" diretório.

Descobri que usando a diretiva PythonOption na configuração site fez não trabalho, mas SetEnv fez. O percurso variável de ambiente também funcionará embora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top