python导入MySQLdb和apache python_egg_cache问题

问题描述

| 我在使用PHP调用python脚本或其调用脚本时遇到麻烦,但是在尝试导入MysqLdb的途中停了下来 现在,在向我的用户.bash_profile添加内容之后,请遵循本指南,如何修复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
我仍然收到此错误消息,Web服务器仍然尝试访问/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 __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 egg时发生以下错误 快取:
 [Errno 13] Permission denied: \'/root/.python-eggs\'
Python鸡蛋缓存目录当前设置为:
 /root/.python-eggs
也许您的帐户对此目录没有写权限?您可以 通过设置PYTHON_EGG_CACHE环境来更改缓存目录 变量以指向可访问的目录。     

解决方法

看一下trac的错误跟踪器或这个问题。您应该能够以某种方式(最有可能以特定于发行版/操作系统的方式)修复apache的环境,或者仅升级trac。 更新:该问题并非特定于Trac / Genshii,它是在apache中运行的每个python应用程序并尝试安装python egg时发生的。我使用Trac遇到了它,并解决了编辑Web服务器环境的问题。该Wiki页面明确表示apache的
SetEnv
指令不起作用,您应使用
PythonOption
。至于修改Web服务器的环境,我是在FreeBSD服务器上完成的(您只需在
/usr/local/etc/apache22/envvars.d
中添加环境vars来添加脚本),我怀疑您可以在Ubuntu
/etc/apache2/envvars
上实现相同的效果。如果您在另一个发行版上,请检查您的apache包装方式并采取相应措施。