问题描述
|
我在使用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包装方式并采取相应措施。