我们一直在使用Trac的任务/缺陷跟踪和事情发展得还不错,但今天早上就开始服务了500错误。 展望在Apache的error_log,我得到在达到高潮堆栈跟踪:
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
所以我明确地设置PYTHON_EGG_CACHE到/ SRV / TRAC /插件缓存。 我重新启动Apache的。 然而,我得到同样的错误(还在说“鸡蛋缓存目录电流设置为:\ n \ n /.python_eggs”)
我应该怎么做? 是最简单的事情,重新安装Trac的? 如果我走这条路,哪些步骤我需要确保我不会失去现有的数据?
这应该根据自己固定在0.11 bug跟踪系统 。
如果不是这种情况,你应该尝试的环境VAR传递到Apache,因为配置文件不工作,做一个SETENV。 添加类似
export PYTHON_EGG_CACHE=/tmp/python_eggs
该脚本使用启动Apache应该工作。
从Trac的10.4提升到今年的0.11早些时候,当我碰到了同样的问题。 一定有什么改变了这个问题刚才突然出现 - 更新Python或Apache安装?
我不记得所有我试图解决这个排列的,但是我最终不得不使用SetEnv PYTHON_EGG_CACHE /.python-eggs
创造/.python-eggs与777个权限。 这可能不是最好的解决办法,但它解决了这一问题。
我从来不调查的根本原因是什么。 作为agnul说,这可能是固定在随后的Trac的释放。
我已经搏斗了许多战斗PYTHON_EGG_CACHE
,我从来没有想通了,设置它的正确途径- apache的envvars中,httpd.conf文件(SETENV和PythonOption),毫无效果。 最后我只是手动解开所有的蟒蛇蛋,只有两三个有反正 - 问题了。 我永远无法理解为什么在地球上的人拉上文件加权不超过几KB更在首位...
我有同样的问题。 在我的情况该目录不在那里,所以我创建并chown'ed它交给apache用户(阿帕奇在我的CentOS 4.3框)。 然后在目录确信它的读写权限。 你可以用给RW权限的目录,如果拥有该目录的组包含apache用户度日。 一个简单的ps aux | grep的的httpd应该告诉你什么是占你的服务器下,如果你不知道它在运行。 如果无法找到该目录记得ls命令的-a,因为它是一个“隐藏”的目录。
我发现,在该网站的配置使用PythonOption指令没有工作,但没有SETENV。 环境变量的路线也将工作,虽然。
文章来源: How do you fix a Trac installation that begins giving errors relating to PYTHON_EGG_CACHE?