如何在使用setup.py进行模块构建/安装期间为Python.h搜索路径指定或添加目录?

ca2*_*ria 9 python install build include-path setup.py

我正在运行Linux,并且已经下载了一个python模块,我必须安装它而不能访问除我的特定/ home/user目录以外的任何模块(我没有root权限,也没有选择它们).

这当然需要Python源代码.我已经下载并在所述用户目录中进行了处理.

虽然要求管理员将正确的文件复制到/usr/include/python2.7是最简单的方法,但我希望有一个更通用和可移植的解决方案来解决这类问题.

仅更改模块源中的数据(MANIFEST.in,README.txt,setup.py等),如何将任意目录添加到Python.h和朋友的搜索路径中?

(没有解决方案,"python setup.py build"将继续返回"Python.h:没有这样的文件或目录"错误)

非常感谢你.

Mar*_*eld 9

要构建已编译的包,您需要告诉配置步骤setup.py查看包含文件的其他位置.我相信这可以这样做:

python setup.py config --with-includepath=/path/to/your/install/of/python/includes/
Run Code Online (Sandbox Code Playgroud)

您可能还需要告诉setup.py其他文件(例如库)的位置,在这种情况下请看一下:

python setup.py config --help
Run Code Online (Sandbox Code Playgroud)

并查看--libraries--library-dirs选项.要更改生成的包的安装位置,请在构建后使用前缀选项,例如:

python setup.py install --prefix=/path/to/install/to/
Run Code Online (Sandbox Code Playgroud)

虽然您需要的选项的确切组合可能取决于您正在安装的软件包.如果你需要频繁地做到这一点,我认为它可以通过指定完成setup.cfg配置文件,为讨论在这里.