2010-11-04 79 views
0

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

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

编辑
这将是一个很好的理由,更喜欢Python.org版本,比较相同的版本号头对头?

+2

可能想看看[这个问题](http://stackoverflow.com/questions/1541776/upgrade-python-to-2-6-on-mac)和[这个问题](http:// stackoverflow.com/questions/3723183/is-it-safe-to-replace-macos-x-default-python-interpreter)。他们都有这方面的一些很好的信息。典型的解决方案通常是在系统旁边安装一个更新的版本,但这可能取决于你想要这样做的原因。 – eldarerathis 2010-11-04 01:03:17

+0

@elderathis:是的,这实际上是我想要得到的 - 原因是喜欢使用Python.org而不是Mac预装版本。让我编辑我的问题。 – Kit 2010-11-04 01:13:25

+0

“相同的版本号”。它们是相同的版本。他们做同样的事情。他们是从同一个来源构建的。你在问什么? – 2010-11-04 02:11:27

回答

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模块)。

+0

OS X 10.6附带Python 2.6(和2.5)。 – 2010-11-04 05:17:28

3

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和3.2在几个月内即将推出),并且预计将逐渐取代Python 2,因为新功能只被添加到Python 3中

+0

Python.org为Mac OS X提供x86-64'dmg'. – Kit 2010-11-14 03:18:52

+0

...但只适用于Python 2.7和即将发布的3.2版本,而不是2.6。 – 2010-11-14 03:35:13

相关问题