gpt4 book ai didi

python - osx -/usr/bin/python 和/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 19:35:59 24 4
gpt4 key购买 nike

我正在尝试清理我的系统 python 环境。我之前安装了另一个 python2 而不是使用 Homebrew 提供的系统,我已经卸载了这个。

我认为我的mac上现在应该只有一个python2。但是,which python/usr/bin/python我注意到/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python 中还有一个.

/usr/bin/ls -l 的输出是

lrwxr-xr-x   1 root   wheel        74 Jul 22  2015 pydoc2.6 -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/pydoc2.6
lrwxr-xr-x 1 root wheel 74 Jul 22 2015 pydoc2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/pydoc2.7
-rwxr-xr-x 2 root wheel 58416 Jul 15 2015 python
-rwxr-xr-x 5 root wheel 925 Sep 10 2014 python-config
lrwxr-xr-x 1 root wheel 18 Apr 8 2016 python2 -> /usr/bin/python2.7
lrwxr-xr-x 1 root wheel 75 Jul 22 2015 python2.6 -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6
lrwxr-xr-x 1 root wheel 82 Jul 22 2015 python2.6-config -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6-config
lrwxr-xr-x 1 root wheel 75 Jul 22 2015 python2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
lrwxr-xr-x 1 root wheel 82 Jul 22 2015 python2.7-config -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
-rwxr-xr-x 2 root wheel 58416 Jul 15 2015 pythonw
lrwxr-xr-x 1 root wheel 76 Jul 22 2015 pythonw2.6 -> ../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/pythonw2.6
lrwxr-xr-x 1 root wheel 76 Jul 22 2015 pythonw2.7 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7

所以我认为这意味着 /usr/bin/python不是符号链接(symbolic link),它本身就是二进制文件。同时 /usr/bin/python2.7/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 的符号链接(symbolic link).

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/
lrwxr-xr-x  1 root  wheel      7 Jul 22  2015 2to3 -> 2to32.7
lrwxr-xr-x 1 root wheel 8 Jul 22 2015 2to3-2 -> 2to3-2.7
-rwxr-xr-x 1 root wheel 288 Sep 10 2014 2to3-2.7
lrwxr-xr-x 1 root wheel 6 Jul 22 2015 2to32.7 -> 2to3-2
lrwxr-xr-x 1 root wheel 5 Jul 22 2015 idle -> idle2
lrwxr-xr-x 1 root wheel 7 Jul 22 2015 idle2 -> idle2.7
-rwxr-xr-x 1 root wheel 230 Sep 10 2014 idle2.7
lrwxr-xr-x 1 root wheel 6 Jul 22 2015 pydoc -> pydoc2
lrwxr-xr-x 1 root wheel 8 Jul 22 2015 pydoc2 -> pydoc2.7
-rwxr-xr-x 1 root wheel 215 Sep 10 2014 pydoc2.7
lrwxr-xr-x 1 root wheel 7 Jul 22 2015 python -> python2
lrwxr-xr-x 1 root wheel 14 Jul 22 2015 python-config -> python2-config
lrwxr-xr-x 1 root wheel 9 Jul 22 2015 python2 -> python2.7
lrwxr-xr-x 1 root wheel 16 Jul 22 2015 python2-config -> python2.7-config
-rwxr-xr-x 1 root wheel 34944 Jul 15 2015 python2.7
-rwxr-xr-x 1 root wheel 1818 Jul 15 2015 python2.7-config
lrwxr-xr-x 1 root wheel 8 Jul 22 2015 pythonw -> pythonw2
lrwxr-xr-x 1 root wheel 10 Jul 22 2015 pythonw2 -> pythonw2.7
-rwxr-xr-x 1 root wheel 34944 Jul 15 2015 pythonw2.7
lrwxr-xr-x 1 root wheel 9 Jul 22 2015 smtpd.py -> smtpd2.py
-rwxr-xr-x 1 root wheel 18681 Sep 10 2014 smtpd2.7.py
lrwxr-xr-x 1 root wheel 11 Jul 22 2015 smtpd2.py -> smtpd2.7.py

但是,似乎 /usr/bin/python/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7是相同的二进制,因为它们都给出
Python 2.7.10 (default, Jul 14 2015, 19:46:27)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

当我运行它们时。

我很困惑这两个二进制文件是否表示相同的 python 解释器?但为什么它们是两个独立的二进制文件?

最佳答案

它是 MacOSX 版本控制系统的一部分。您的实际 Python 可执行文件位于 /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 .
/usr/bin/python是一个包装器,它根据 com.apple.versioner.python.plist 中指定的版本选择要使用的 python 版本。属性列表文件和 VERSIONER_PYTHON_VERSION环境变量等。

Perl 以同样的方式工作。它旨在允许用户在操作系统附带的 python 和 perl 版本之间进行选择,尽管从 macOS 版本 10.14.2 (mojave) 开始,每个版本都只安装了一个版本。

如果您确实安装了多个版本的 Python,您可以使用以下命令更改默认版本:

defaults write com.apple.versioner.python Version -string 2.7.10

或者
export VERSIONER_PYTHON_VERSION=2.7.10

这只是一个示例,假设安装了 2.7.10 版本。

以上仅适用于 Apple 操作系统中包含的程序,不适用于通过 Homebrew 或 MacPorts 安装、自行下载或编译的版本。

来源: http://krypted.com/mac-os-x/perl-control/https://gist.github.com/crankycoder/1389144

关于python - osx -/usr/bin/python 和/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48740260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com