Python模块安装:指定外部库依赖项的位置

Python模块安装:指定外部库依赖项的位置,python,pip,Python,Pip,pip工具使python模块安装起来轻而易举——在大多数情况下。但当模块需要一些在“标准位置”中找不到的外部C库时,可能会导致问题。举个例子:我试图安装gmpy2python模块,它需要访问gmp、mpfr和mpc库。在我使用的系统(Linux HPC,运行RHEL 6.9)上,系统范围的库非常旧。HPC系统管理员提供了更多最新的库,但不在/usr/lib或/usr/local/lib中。我的问题是:我们仍然可以使用pip来构建Python模块的二进制部分吗?如何指定自定义包含和库文件位置?我被

pip
工具使python模块安装起来轻而易举——在大多数情况下。但当模块需要一些在“标准位置”中找不到的外部C库时,可能会导致问题。举个例子:我试图安装
gmpy2
python模块,它需要访问
gmp
mpfr
mpc
库。在我使用的系统(Linux HPC,运行RHEL 6.9)上,系统范围的库非常旧。HPC系统管理员提供了更多最新的库,但不在
/usr/lib
/usr/local/lib
中。我的问题是:我们仍然可以使用pip来构建Python模块的二进制部分吗?如何指定自定义包含和库文件位置?我被迫回到
python setup.py
方法:首先使用
build\u ext
子命令,然后调用
install
子命令完成安装。这是可行的,但相当混乱。

我不知道Python在默认情况下会查看哪些位置,但如果bash变量LD_LIBRARY_PATH中包含了这些路径,该怎么办?程序通常不是也使用这些位置搜索库吗?是的,
LD\u LIBRARY\u PATH
用于搜索运行库的路径。但对于构建,必须使用
库路径
(至少对于GNU工具链?)。但是,对于编译阶段,除了
-I
标志之外,没有指定路径AFAIK的替代方法。然后可能必须首先使用
CFLAGS
LDFLAGS