Mac OS X预装的Python与Python.org的区别是什么?

0 投票
2 回答
2588 浏览
提问于 2025-04-16 06:31

我刚开始用Mac(雪豹系统),发现Mac OS X里自带了Python。那这个自带的Python和从Python.org下载的有什么区别呢?

如果我安装从Python.org下载的版本,会不会导致什么问题?会不会多余呢?

补充说明
如果两个版本的编号完全一样,为什么我还要选择从Python.org下载的版本呢?

2 个回答

0

要知道你在比较哪个版本,光凭这一点是没法判断的。你最好在你的默认 OS X 系统上运行一下 python --version,然后查看从那个版本到后续版本的更新说明。我猜(我没有 OS X)你可能在用 2.4.x 或 2.5.x。自 2.4.x 版本以来,2.x 版本的变化很少。Python 3.x 引入了一些语法上的变化,这可能会导致一些现有代码无法运行。最明显的变化是,在 3.0 中,print 变成了一个函数,而在 2.x 中仍然是一个语句。

一般来说,在 2.x 版本之间,语法只是得到了增强,而不是被破坏。变化主要体现在库上(比如在 2.6 中,md5 模块被弃用,取而代之的是 hashlib 模块)。

3

在Mac OS X 10.6(雪豹)中,苹果提供的Python版本是2.6.1(根据之前的OS X版本,苹果不太可能在10.6.x的维护更新中升级到更高版本)。Python 2.6的最新版本(可能也是最后一个版本)是2.6.6。所以如果你安装python.org上最新的版本,你就能享受到在Python 2.6的整个生命周期中修复的许多bug。还有一些其他的区别。python.org的2.6.x版本是只支持32位的,而苹果提供的版本是支持32位和64位的通用版本,默认情况下会优先在64位模式下运行。这两种版本在安装依赖其他第三方库的C扩展模块的第三方包时,可能会出现一些问题。所有组件之间需要至少有一个共同的架构(无论是32位的i386,还是64位的x86_64)。另一个区别是,苹果提供的2.6版本链接了一个新的Tk 8.5版本;有报告指出,10.6自带的IDLE和其他使用Tkinter的应用程序可能会出现问题。如果你打算使用这两个,可能更适合使用python.org的2.6版本,它链接的是Tk 8.4。

在OS X上,安装多个Python版本(即使是同一个大版本)特别简单和常见。如果你安装了python.org的版本,默认情况下安装程序会修改你的shell搜索PATH,这样python.org的版本会被优先找到。你也可以通过绝对路径/usr/local/bin/python2.6来访问它。苹果提供的版本仍然可以通过/usr/bin/python2.6来使用。

顺便提一下:要知道Python 2.7已经发布,并且在python.org上有适用于OS X的安装程序。还有一个新的、不向下兼容的Python版本,Python 3,也已经推出(目前是3.1.2,3.2将在几个月后发布),预计随着新功能的不断添加,Python 3会逐渐取代Python 2,变得更受欢迎。

撰写回答