我有 Autotools(./configure、make、make install)的 C 语言背景,但最近开始使用 Python。借助 Autotools,我可以通过执行 ./configure --prefix=/foo/bar 或多或少地在系统的任何位置安装程序。我发现大多数 Python 程序都使用基于 distutils 的类似系统,通常在名为 setup.py 的文件中。但是,我注意到如果我将项目安装在非标准目录中,例如通过执行 python setup.py install --prefix/foo/bar,那么 中的脚本/foo/bar/bin 将无法获取安装到 /foo/bar/lib/pythonx.y/site-packages 中的包。
我假设在执行脚本时我必须以某种方式将该目录添加到 sys.path 中。我如何以稳定的跨平台方式做到这一点?还是我应该做点别的?
请您参考如下方法:
如果您的自定义安装目录是“foo”,那么您的 python-root 是“bar”,您的 package-root 是“lib” 你可以将它添加到你的脚本中:
import sys
from os.path import join
foo = "foo"
bar = "bar"
lib = "lib"
newbase = join(foo, bar, lib)
sys.path.append(newbase)
在你的例子中:
foo ='foo'
bar = 'bar'
lib = '/lib/pythonx.y/site-packages'
