OS X上预装了多少版本的python?

OS X上预装了多少版本的python?,python,macos,Python,Macos,根据文档,苹果提供的Python版本分别安装在/System/Library/Frameworks/Python.framework和/usr/bin/Python中。这是否意味着安装了两个python副本 在/usr/bin/中,我有python、python2.5、python2.6和python2.7。虽然python2.5、python2.6和python2.7是指向/System/Library/Frameworks/中各自版本的链接,但似乎python不是链接,而是可执行文件本身 我

根据文档,苹果提供的Python版本分别安装在
/System/Library/Frameworks/Python.framework
/usr/bin/Python
中。这是否意味着安装了两个python副本

/usr/bin/
中,我有
python
python2.5
python2.6
python2.7
。虽然
python2.5
python2.6
python2.7
是指向
/System/Library/Frameworks/
中各自版本的链接,但似乎
python
不是链接,而是可执行文件本身

我在
usr/bin/python
中的
ls-l
输出是:

-rwxr-xr-x 2根控制盘58608 Mar 7 00:24
lrwxr-xr-x 1根控制盘75 Mar 7 00:24 python2.5->../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5
lrwxr-xr-x 1根控制盘75 Mar 7 00:24 python2.6->../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6

lrwxr-xr-x 1 root wheel 75 Mar 7 00:24 python2.7->../System/Library/Frameworks/Python.Frameworks/Python.framework/Versions/2.7/bin/python2.7
执行
/usr/bin/Python-V
以查看该Python的版本。该二进制文件包含python解释器

/System/Library/Frameworks/Python.framework
应该包含您导入的Python系统库。您可以通过在shell中启动python来验证这一点(以下是Linux框的输出):


在现代OS X系统上,
/usr/bin/python
是苹果公司提供的一种特殊的“包装器”可执行文件,用于管理由
/usr/bin/python
执行的python版本和CPU体系结构(例如32位或64位)。苹果的
python
手册页(
man1python
)中有更多细节。正如您所注意到的,版本化的Python文件(
/usr/bin/python2.7
等)是指向
/System/Library/Frameworks
中通用Python可执行文件的符号链接


顺便说一句,这也是您不应该尝试修改
/usr
(除了
/usr/local
)或
/System/Library
中的文件的另一个原因;他们并不总是你想象的那样。这些位置的文件是OS X的一部分,由苹果公司管理。

那么
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
呢?它的版本与
/usr/bin/python
相同,但没有一个是符号链接。
/usr/bin
中的符号链接指向该位置的二进制文件。除非我不理解你的问题?
/usr/bin/python
不是符号链接。这就是为什么问题仍然存在,“这是否意味着安装了两个python副本?”。是的,至少有3个副本(python 2.5、2.6、2.7)。他需要做一个
/usr/bin/python-V
,看看第四个是否是冗余版本。我的意思是
/System/Library/Frameworks/python.framework/Versions/2.7/bin/python2.7
/usr/bin/python
都是可执行文件(不是符号链接),都有
2.7.5
版本。
$ python
Python 2.7.6 (default, Mar 22 2014, 15:40:47) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7']