проблема с импортом python (MySQLdb) и apache python_egg_cache

У меня проблемы с php, вызывающим скрипт python, или с вызовом скрипта, но где-то останавливающимся при попытке импортировать MySQLdb

теперь, после добавления, в мой пользовательский .bash_profile, следуя этому руководству error-relating-to-python-e/215298#215298">Как исправить установку Trac, которая начинает выдавать ошибки, связанные с PYTHON_EGG_CACHE?

export PYTHON_EGG_CACHE /var/www/html/path/cache

и в httpd.conf

   AddHandler mod_python
   SetEnv PYTHON_EGG_CACHE /var/www/html/path/cache

я все еще получаю это сообщение об ошибке, веб-сервер все еще пытается получить доступ к /root/.python-eggs, и я не могу найти экспортированные .python-eggs в моей новой папке

Array
(
    [stdout] => 
    [stderr] => Traceback (most recent call last):
  File "/var/www/html/grndb/upscgenesearch/python/pythontest.py", line 4, in ?
    import MySQLdb
  File "build/bdist.linux-x86_64/egg/MySQLdb/__init__.py", line 19, in ?
  File "build/bdist.linux-x86_64/egg/_mysql.py", line 7, in ?
  File "build/bdist.linux-x86_64/egg/_mysql.py", line 4, in __bootstrap__
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 799, in resource_filename
    return get_provider(package_or_requirement).get_resource_filename(
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 1229, in get_resource_filename
    return self._extract_resource(manager, zip_path)
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 1249, in _extract_resource
    real_path = manager.get_cache_path(
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 880, in get_cache_path
    self.extraction_error()
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 846, in extraction_error
    raise err
pkg_resources.ExtractionError: Can't extract file(s) to egg cache

При попытке извлечь файл(ы) в кеш яйца Python произошла следующая ошибка:

 [Errno 13] Permission denied: '/root/.python-eggs'

Каталог кеша яйца Python в настоящее время установлен на:

 /root/.python-eggs

Возможно, у вашей учетной записи нет прав на запись в этот каталог? Вы можете изменить каталог кеша, установив переменную среды PYTHON_EGG_CACHE так, чтобы она указывала на доступный каталог.


person David S    schedule 15.04.2011    source источник


Ответы (1)


Посмотрите трекер ошибок trac или этот вопрос. Вы должны иметь возможность каким-то образом исправить среду apache (скорее всего, в зависимости от дистрибутива/ОС) или просто обновить trac.

Обновление: проблема не связана с Trac/Genshii, она возникает с каждым приложением python, работающим внутри apache и пытающимся установить яйцо python. Я наткнулся на это с помощью Trac и решил отредактировать среду веб-сервера. Эта вики-страница прямо говорит, что директива Apache SetEnv не будет работать, вы должны использовать PythonOption. Что касается изменения среды веб-сервера, я сделал это на сервере FreeBSD (где вы просто добавили скрипт с переменными среды, которые вам нужны внутри /usr/local/etc/apache22/envvars.d), и я подозреваю, что вы могли бы добиться того же при редактировании Ubuntu /etc/apache2/envvars. Если вы используете другой дистрибутив, просто проверьте, как упакован ваш apache, и действуйте соответственно.

person agnul    schedule 15.04.2011
comment
Я следовал руководству для PYTHON_EGG_CACHE до того, как начал эту тему, но это не сработало. Папка для кеша не изменена И хотя вывод сообщения об ошибке выглядит облегченным, как в системе отслеживания ошибок, я не думаю, что установлены Genshi или Trac, по крайней мере, я не могу найти какие-либо файлы на своем сервере. - person David S; 18.04.2011