- “库存”苹果Python - MacPython - Fink - MacPorts - 从源代码自行构建
就功能而言,对于2.5版本,库存Python还可以。但我想知道的是:为什么要在其中选择一个而不是另一个?
更新: 为了澄清,我正在寻找各种选项的讨论,而不是文档链接。我将这标记为社区Wiki问题,因为我认为没有“正确”的答案。感谢已经评论的每个人的见解。
我认为使用Mac OS X自带的“原版”Python的一个优点是,它使得在其他Mac上部署变得轻而易举。我不知道你的部署场景是什么,但对我来说这很重要。我的代码必须在工作中的任意数量的Mac上运行,并且我尽量减少在所有这些系统上运行我的代码所需的工作量。
这取决于你使用Python的目的。如果你使用MacOS功能和PyObjC等内容,最好使用MacPython或由Apple提供的Python。
我在我的Mac上主要用Python开发服务器端应用程序,稍后将在FreeBSD和Linux上运行。为此,我使用了fink python几年,以及从那时起使用了MacPorts python。使用MacPorts可以轻松添加所需的c模块(例如数据库驱动程序等)。同时也很容易保留两个Python版本(在我的情况下是2.5和2.6)。
我曾经使用“自己编译”的Python来测试3.0之前的Python,但通常情况下,如果手工管理依赖项到c模块,则会感到痛苦。
由于easy_install,安装纯Python模块对于上述所有选项都是快速且简便的。
我从来不是一个很喜欢使用IDE的人。在开发中,我使用MacPorts安装的命令行subversion,Textmate和偶尔使用Expandrive 直接访问服务器上的文件。我个人非常依赖Bicyclerepairman for Textmade 来处理我的重构需求。
其他人似乎非常喜欢Eclipse & Pydev。
我建议使用Python虚拟环境,尤其是如果你使用Timecapsule的话,因为Timecapsule会备份所有内容,但不包括你添加到Python的模块!
鉴于人们在Leopard python中遇到的错误和遗漏的数量(仅在SO上!),我不能推荐那个版本。例如,请参见:
我会选择MacPorts。
它不会删除由Apple提供的现有python,因为它默认安装在/opt/local/bin
中(与其兼容),而且很容易下载和安装其他python模块(甚至需要编译的二进制模块!)。我使用Porticus GUI来维护我的MacPorts已安装程序列表,包括python。
苹果提供的Python版本相当老旧 - 我的Tiger安装程序有2.3.5版本。这对您可能不是问题,但您会错过很多东西。此外,苹果公司可能会更新它。我不确定从2.3.5升级到(比如)2.4是否会导致代码出现问题,但我想这是有可能的。最近Perl用户就遇到了这种情况:http://developers.slashdot.org/article.pl?sid=09/02/18/1435227
Macpython是一个框架构建(我认为苹果也是如此)。老实说,我不确定这意味着什么,但这是某些模块的先决条件,特别是wxPython。如果您从macports或fink获取Python,则无法运行wxPython(除非通过X11运行)。