Linux
usr/bin 中的 python 符號連結(也指向自身)
我目前正在玩cmake,在這個過程中我發現了一些我不明白的東西,主要是關於
usr/bin
目錄中的python符號連結:
- 在我的
usr/bin
目錄中存在符號連結,它們幾乎是它們指向的 python 執行檔的名稱。自從它們創建以來似乎已經有一段時間了,我想知道是否有必要這樣做的原因,或者是否在某些時候出了問題,我應該刪除這些符號連結。- 符號連結指向
x86_64-linux-gnu-python<x.x>-config*
什麼?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*
關於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