Python - ошибка извлечения яичного кэша - отказано в разрешении - Apache не видит SetEnv? - PullRequest
0 голосов
/ 06 мая 2011

Я пытаюсь настроить Apache с mod_wsgi для запуска Django в Red Hat Box, но я получаю страшное «Отказано в доступе:« /home/pineg/.python-eggs »« ошибка извлечения яичного кэша.

Я сделал то, что он сказал, и сделал это первой строкой:

SetEnv PYTHON_EGG_CACHE /opt/tmp

в / etc / httpd / conf / httpd.conf

Иперезапустил Apache:

>sudo /etc/init.d/httpd restart

Но я все еще получаю ту же ошибку (ниже).Как будто Apache игнорирует мой SetEnv.

[Fri May 06 10:08:37 2011] [error] [client 10.101.11.561] The following error occurred while trying to extract file(s) to the Python egg
[Fri May 06 10:08:37 2011] [error] [client 10.101.11.561] cache:
[Fri May 06 10:08:37 2011] [error] [client 10.101.11.561] 
[Fri May 06 10:08:37 2011] [error] [client 10.101.11.561]   [Errno 13] Permission denied: '/home/pineg/.python-eggs'
[Fri May 06 10:08:37 2011] [error] [client 10.101.11.561] 
[Fri May 06 10:08:37 2011] [error] [client 10.101.11.561] The Python egg cache directory is currently set to:
[Fri May 06 10:08:37 2011] [error] [client 10.101.11.561] 
[Fri May 06 10:08:37 2011] [error] [client 10.101.11.561]   /home/pineg/.python-eggs
[Fri May 06 10:08:37 2011] [error] [client 10.101.11.561] 
[Fri May 06 10:08:37 2011] [error] [client 10.101.11.561] Perhaps your account does not have write access to this directory?  You can
[Fri May 06 10:08:37 2011] [error] [client 10.101.11.561] change the cache directory by setting the PYTHON_EGG_CACHE environment
[Fri May 06 10:08:37 2011] [error] [client 10.101.11.561] variable to point to an accessible directory.

Ответы [ 3 ]

4 голосов
/ 07 мая 2011

Эта проблема и решение описаны в документации mod_wsgi по адресу:

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Access_Rights_Of_Apache_User

2 голосов
/ 06 мая 2011

Я сейчас ничего не про специфику Apache-Django, но в целом

SetEnv PYTHON_EGG_CACHE /opt/tmp

не устанавливает переменную окружения, он только добавляет ее к environ dict, что application(environ, start_response)функция в index.wsgi должна принять.

0 голосов
/ 06 мая 2011

О, хорошо, вместо того, чтобы дурачиться с этим, я сказал Python не устанавливать его как глупое яйцо:

>sudo python setup.py install --single-version-externally-managed --record=/opt/python/source/weird_egg_thing
...