在远程升级到Wheezy后,Python找不到easy_install安装的模块

时间:2014-10-19 05:21:04

标签: python python-2.7 debian trac easy-install

我有一个Debian Squeeze系统,使用以下脚本:

#!/bin/sh
/srv/trac/hooks/trac-post-commit-hook -p "/srv/trac" -r "$2"

升级到Wheezy后,脚本失败并显示

Traceback (most recent call last):
  File "/srv/trac/hooks/trac-post-commit-hook", line 106, in <module>
    from trac.env import open_environment
ImportError: No module named trac.env

我用easy_install再次安装了模块(Trac和其他模块),但这并没有解决问题。然而,这个黑客工作:

#!/bin/sh
export PYTHONPATH="/usr/local/lib/python2.7/dist-packages/Trac-0.12-py2.7.egg"
/srv/trac/hooks/trac-post-commit-hook -p "/srv/trac" -r "$2"

WSGI也存在同样的问题,但我还无法修复它。

这里有什么问题?我怎么能避免这种邪恶的黑客?

1 个答案:

答案 0 :(得分:2)

从Squeeze升级到Wheezy时,这听起来像是python搜索路径的问题。您可以尝试debug sys.path查找是否存在任何问题。您还应该检查easy-install.pth以修改站点安装的包。

我强烈建议使用virtualenv来管理python包,这样当你跨机器或操作系统移动时就不会出现python路径问题或包冲突。