LD_LIBRARY_PATH 在 Conda 环境中

LD_LIBRARY_PATH in Conda environment

我创建了一个 Conda 环境 (myenv),并在这个环境中构建了一个 Python 扩展(使用 distutils)。 我的图书馆使用了一些同时存在于 /usr/local/lib/home/user/miniconda3/envs/myenv/lib.

上的图书馆

myenv 中,LD_LIBRARY_PATH 是空的,但是 ldd mylib.so 显示我的库 link 到 /home/user/miniconda3/envs/myenv/lib 中的库. 这是有道理的,但我想知道为什么 link 到 /usr/local/lib 中的库?

您很可能正在使用 conda 环境中的编译器和相关工具链。此工具链设置为自动使用您的 conda 环境中的库。

我找到了那条路 $ORIGIN/../lib 在 myenv 的 python 的 RPATH 中设置。