setup.py的库路径在哪里?

2 投票
2 回答
7134 浏览
提问于 2025-04-16 17:38

在尝试在Linux平台上构建numpy时,我无法让配置脚本找到正确的位置。
我使用了

python setup.py config --library-dirs=/software/intel/mkl/10.2.2.025/lib/em64t/

但随后我得到了

mkl_info:
在/software/intel/mkl/10.2.2.025中找不到库 mkl、vml、guide
在/software/intel/mkl/10.2.2.025/include中找不到库 mkl、vml、guide
在/software/intel/mkl/10.2.2.025/lib中找不到库 mkl、vml、guide

所以看起来它根本没有去查看子目录 emt64/。我提供的路径也在我的 LD_LIBRARY_PATH 中。

我该如何给脚本提供正确的路径呢?

提前谢谢你!

2 个回答

-2

也许

export PYTHONLIB="/software/intel/mkl/10.2.2.025/lib/em64t/"
python setup.py config
0

我遇到了和rpy2类似的问题。当时我没有管理员权限,不能修改现有的R安装,也不能往它的核心库目录里添加东西。而且,R并不是以共享库的形式构建的,所以我无法把rpy2的构建链接到libR.so。

于是,我不得不在另一台机器上交叉编译libR.so(确保R版本和Linux家族是一样的),然后把它复制到一个不同的目录。我希望这个目录能被setup.py识别到。

我在命令行上试了-L这个参数,但没能成功。看起来这个参数是被禁用的。

(失败) python setup.py -L${LD_LIBRARY_PATH} build install

最后,我决定编辑setup.py,修改一个可以接受库目录的行。

(旧的) r_libs = []

(新的) [os.path.join('/root','path','to_my','install','R','lib'),]

然后我重新运行了:python setup.py build install

成功了!

撰写回答