usr/bin 中的 python 符号链接(也到其自身)

usr/bin 中的 python 符号链接(也到其自身)

我目前正在使用 cmake ,在这个过程中我发现了一些我不明白的事情,主要是关于usr/bin目录中的 python 符号链接:

  1. 在我的usr/bin目录中存在符号链接,几乎包含它们指向的 python 可执行文件的名称。它们创建以来似乎已经有一段时间了,我想知道是否有必要这样做的原因,或者如果在某个时候出现问题,我应该删除这些符号链接。

  2. 符号链接指向什么x86_64-linux-gnu-python<x.x>-config*

  3. python3.5这更多是一个Python特定问题:和之间有什么区别python3.5m

我的usr/bin看起来像这样:

lrwxrwxrwx  1 root    root           9 Okt 18  2016 python -> python2.7*
lrwxrwxrwx  1 root    root           9 Okt 18  2016 python2 -> python2.7*
-rwxr-xr-x  1 root    root     3546104 Nov 19 10:35 python2.7*
lrwxrwxrwx  1 root    root          33 Nov 19 10:35 python2.7-config -> x86_64-linux-gnu-python2.7-config*
lrwxrwxrwx  1 root    root          16 Dez 10  2015 python2-config -> python2.7-config*
lrwxrwxrwx  1 root    root           9 Okt 18  2016 python3 -> python3.5*
-rwxr-xr-x  2 root    root     4460336 Nov 17 20:23 python3.5*
lrwxrwxrwx  1 root    root          33 Nov 17 20:23 python3.5-config -> x86_64-linux-gnu-python3.5-config*
-rwxr-xr-x  2 root    root     4460336 Nov 17 20:23 python3.5m*
lrwxrwxrwx  1 root    root          34 Nov 17 20:23 python3.5m-config -> x86_64-linux-gnu-python3.5m-config*
lrwxrwxrwx  1 root    root          16 Mär 23  2016 python3-config -> python3.5-config*
lrwxrwxrwx  1 root    root          10 Okt 18  2016 python3m -> python3.5m*
lrwxrwxrwx  1 root    root          17 Mär 23  2016 python3m-config -> python3.5m-config*
lrwxrwxrwx  1 root    root          16 Dez 10  2015 python-config -> python2.7-config*

答案1

关于python3.5m,它是默认的python。

正如邮件列表中所示:https://mail.python.org/pipermail/python-list/2016-June/710983.html

“m”后缀意味着 Python 配置为“--with-pymalloc”,即使用专门的 malloc,包括小对象分配器。这是默认配置。您还可能会看到配置为“--with-pydebug”和“--with-pymalloc”的构建的“dm”后缀。

libpython3.5.so 和 libpython3.5m.so 实际上可能链接到同一个共享库:

$ readlink libpython3.5.so
../../x86_64-linux-gnu/libpython3.5m.so.1

$ readlink libpython3.5m.so
../../x86_64-linux-gnu/libpython3.5m.so.1

关于链接,它们看起来很正常,只是移动名称和位置以向用户提供标准环境;从链接中可以看出默认的 python 是 2.7,而 python 3 链接到 3.5

相关内容