预装Python的Mac OS X和Python.org的Python有什么区别?

时间:2010-11-04 00:50:43

标签: python osx-snow-leopard

我是一名新的Mac(Snow Leopard)用户,我发现Python已预先安装在Mac OS X中。预装Python的Mac OS X与Python.org上的Python有什么区别?

如果我从Python.org安装一个,它会破坏什么吗?它会多余吗?

修改
什么是偏好Python.org版本的理由,比较相同的版本号?

2 个答案:

答案 0 :(得分:3)

Apple提供的Mac OS X 10.6(Snow Leopard)中的Python 2.6目前是2.6.1(根据以前的OS X版本,Apple不太可能将其更新为10.6.x维护中的新版本发布)。 Python 2.6的最新版本(也可能是最终版本)是2.6.6。因此,如果您安装最新的python.org版本,您将获得在Python 2.6的生命周期内进行的大量错误修复的好处。还有一些其他差异。 python.org 2.6.x版本仅构建为32位版本。 Apple支持的版本构建为32位/ 64位通用版,默认情况下,最好在可能的情况下以64位模式运行。使用依赖于其他第三方库的C扩展模块安装第三方软件包时,任何一个都可能导致一些问题。在所有组件中至少需要一个通用架构(32位,i386或64位,x86_64)。另一个区别是Apple支持的2.6与新版Tk 8.5相关联;报告了10.6附带的IDLE以及使用Tkinter的其他应用程序可能存在的问题。如果您打算使用其中任何一个,那么使用与Tk 8.4链接的python.org 2.6可能会更好。

在OS X上,即使是相同的主要版本,安装多个Python版本也特别容易和通用。如果您确实安装了python.org版本,默认情况下,安装程序将修改您的shell搜索PATH,以便首先找到python.org版本。它也可以通过绝对路径/usr/local/bin/python2.6获得。 Apple提供的版本将保留为/usr/bin/python2.6

仅供参考:请注意,Python 2.7已经发布,并且可以从python.org获得OS X安装程序。一个新的,而不是向上兼容的Python版本,Python 3也可用(目前3.1.2将在几个月内推出),并且由于新功能仅被添加到Python 3中,预计将逐渐取代Python 2。

答案 1 :(得分:0)

如果不知道您正在比较哪个版本,就无法分辨。您最好在默认的OS X安装上执行python --version,然后检查该版本的发行说明到后续版本。我的猜测(我没有OS X)是你可能运行2.4.x或2.5.x. 2.x版本树上2.4.x前向的回归差异非常小。 Python 3.x引入了语法更改,这将破坏一些现有代码。也许最明显的变化是print成为3.0中的函数,而仍然是2.x中的声明。

通常,在2.x中,语法只是增强,而不是破坏。库中的更改将更多(即md5模块在2.6处被弃用,而不是hashlib模块)。