有没有办法在不修改现有脚本的情况下,告诉Python有关附加site-packages位置的信息?
在我的CentOS 5.5服务器上,我安装了Python 2.7,安装在/opt/python2.7.2中,并且在/opt/python2.7.2/lib/python2.7/site-packages处有一个site-packages文件夹。
这样做的原因是我不想干扰与5.5发行版一起提供的现有Python 2.4安装。
但是,第三方Python应用程序还在/usr/local/lib/python2.7/site-packages处添加了一个site-packages文件夹,并在该位置安装了自己。
这部分是我的责任,因为我在安装之前没有调整应用程序Makefile中的PREFIX,但是现在我无能为力。
我知道可以执行以下操作:
在我的CentOS 5.5服务器上,我安装了Python 2.7,安装在/opt/python2.7.2中,并且在/opt/python2.7.2/lib/python2.7/site-packages处有一个site-packages文件夹。
这样做的原因是我不想干扰与5.5发行版一起提供的现有Python 2.4安装。
但是,第三方Python应用程序还在/usr/local/lib/python2.7/site-packages处添加了一个site-packages文件夹,并在该位置安装了自己。
这部分是我的责任,因为我在安装之前没有调整应用程序Makefile中的PREFIX,但是现在我无能为力。
我知道可以执行以下操作:
import sys; sys.path.insert(0, "/usr/local/lib/python2.7/site-packages")
然而,这需要我追踪每个脚本并添加上述内容,如果将来有更新的话,这种方法并不理想。
为了解决这个问题,我在/opt/python2.7.2/lib/python2.7/site-packages
中创建了一个符号链接,指向第三方应用程序的位置:
ln -sf /usr/local/lib/python2.7/site-packages/theapp /opt/python2.7.2/lib/python2.7/site-packages/theapp
这似乎很好地解决了问题,但我想知道是否有更好的方法?