有没有办法判断Python是否用“--with-threads --enable-shared”配置和编译过?

5 投票
1 回答
4774 浏览
提问于 2025-04-17 12:35

这是关于在Debian Squeeze上使用Python 2.6.6的内容。我想知道Debian自带的二进制文件是否使用了以下这些配置选项:

--with-threads --enable-shared

如果没有使用这些选项的话,我就需要自己从源代码编译并安装了。

1 个回答

11

--with-threads(这是默认选项)意味着Python支持多线程,这样你就可以使用import thread这个命令了。想测试一下是否支持多线程,可以用python$version -m threading这个命令来检查。

--enable-shared意味着Python会带有一个libpython$version.so的文件,这个文件会安装在$prefix/lib目录下(和python$version文件夹在同一个地方,而不是在里面)。最简单的方法就是去看看这个文件是否存在——假设你想知道是因为你需要使用这个共享库。如果你想确认python$version二进制文件是否使用了这个共享库,可以用ldd命令来查看。我之所以要特别说明这一点,是因为在Debian系统上,/usr/lib/python$version.so这个文件会存在,即使/usr/bin/python$version是静态链接的。

撰写回答