在较新的Ubuntu/Debian版本下,libpython2.7.so
在/usr/lib/i386-linux-gnu/libpython2.7.so
或/usr/lib/x86_64-linux-gnu/libpython2.7.so
等等之下/usr/lib/libpython2.7.so
,无论架构如何,都可以找到它们.我没有检查其他发行版.如何找到libpython2.7.so
python 的路径?
使用pkg-config
不是最佳选择 - 它不会区分不同的Python安装,只返回系统安装.最好使用Python可执行文件来发现它的位置libpythonX.Y.so
.
从Python内部:
from distutils import sysconfig;
print sysconfig.get_config_var("LIBDIR")
Run Code Online (Sandbox Code Playgroud)
或者在Makefile中:
PYTHON_LIBDIR:=$(shell python -c 'from distutils import sysconfig; print sysconfig.get_config_var("LIBDIR")')
Run Code Online (Sandbox Code Playgroud)
这将从Python可执行文件的第一个位置发现位置$PATH
,因此如果系统上有多个Python安装,它将起作用.
感谢尼尔·菲茨杰拉德指出这一点.
我假设您正在寻找针对此文件的链接。Python 通常会安装pkgconfig
一些信息来帮助对其进行编译。特别是对于该.so
文件,您应该使用pkg-config --libs python-2.7
. 来自Python:
import subprocess
subprocess.check_output(["pkg-config", "--libs", "python-2.7"])
Run Code Online (Sandbox Code Playgroud)
如果显示的唯一标志是-lpython2.7
,您可能需要考虑阅读/etc/ld.so.conf
以查看链接器查找其库的默认位置。
归档时间: |
|
查看次数: |
3401 次 |
最近记录: |