在Mac上进行Python开发的建议?

时间:2009-03-02 04:04:06

标签: python macos

一个月前我买了一台低端MacBook,终于开始为Python配置了它。到目前为止,我已经在Windows中完成了大部分Python工作,并且发现OS X的选择有点令人生畏。看起来至少有五个选项可用于Python开发:

  • “股票”Apple Python
  • MacPython上
  • 芬克
  • MacPorts的
  • 滚你自己的从源

我仍然主要针对2.5进行开发,因此从功能角度来看,Python的库存很好。我想知道的是:我为什么要选择一个而不是另一个?

更新 为了澄清,我正在寻找各种选项的讨论,而不是文档的链接。我将此标记为社区Wiki问题,因为我觉得没有“正确”的答案。感谢所有已经评论过他们洞察力的人。

11 个答案:

答案 0 :(得分:9)

我在使用Mac OS X附带的“股票”Python时看到的一个优点是它使部署到其他Mac上变得轻而易举。我不知道您的部署方案是什么,但对我来说这很重要。我的代码必须在任何数量的Mac上运行,我尽量减少在所有这些系统上运行代码所需的工作量。

答案 1 :(得分:4)

我强烈建议您使用MacPortsPorticus来管理您的Python安装。构建所有内容需要一段时间,但优点是,无论你自己构建的是什么,都将针对相同的库构建,因此如果你想让Python的东西工作,你就不必使用静态链接的共享对象等等。使用Apache,PostgreSQL等

如果您选择这样做,请记住安装python_select端口并使用它来使您的系统使用从MacPorts安装的Python。

作为一个额外的好处,MacPorts拥有大多数主流Python蛋的包,所以如果你能够让MacPorts让你及时了解所有这些东西的最新版本:)

答案 2 :(得分:3)

这里有一些有用的信息可以帮助您入门。 http://www.python.org/download/mac/

答案 3 :(得分:3)

取决于你使用python的是什么。如果您正在使用MacOS funitionality和PyObjC之类的东西,那么最好使用MacPython或Apple提供的python。

我在Mac上使用Python主要用于开发服务器端应用程序,后者将在FreeBSD& Linux盒子。为此,我使用了fink python几年,自从MacPorts python以来。使用mac端口,可以轻松添加所需的c模块(如数据库驱动程序等)。保持两个python版本(在我的情况下为2.5和2.6)也很容易。

我使用“编译你自己的”python来测试3.0之前的python,但一般来说,如果手工完成,我会发现管理c模块的依赖是痛苦的。

感谢easy_install安装纯python模块对于上面提到的所有选项都是快速而简单的。

我从来都不是一个IDE人。对于开发,我使用MacPorts安装的命令行subversion,Textmate和偶然Expandrive直接访问服务器上的文件。我个人非常依赖Bicyclerepairman for Textmade来处理我的重构需求。

其他人似乎对Eclipse & Pydev非常满意。

答案 4 :(得分:3)

来自Enthought的EPD怎么样?是的,它很大,但它是一个框架构建,包括wxPython,vtk,numpy,scipy和内置的ipython等内容。

答案 5 :(得分:2)

我建议使用Python虚拟环境,特别是如果你使用Time Capsule,因为Time Capsule将支持所有内容,除了你添加到Python的模块!

答案 6 :(得分:2)

基于人们在Leopard python中遇到的错误和遗漏的数量(就在这里SO !),我无法推荐该版本。例如,见:

我会选择 MacPorts

它不会消除Apple提供的现有python,因为它默认安装在/opt/local/bin中(与它配合使用)而且它很容易下载并安装其他python模块(甚至是你需要的二进制模块)编译!)。我使用Porticus GUI来维护我的MacPorts安装包列表,包括python。

答案 7 :(得分:1)

在我的Windows环境中,我使用Eclipse和PyDev,它们可以很好地协同工作,即使它有点稀疏。显然,Mac也可以使用完全相同的环境,因此我建议下载Eclipse并使用内部更新软件功能使用URL http://pydev.sourceforge.net/updates/更新PyDev。要进一步了解PyDev,请查看here

答案 8 :(得分:1)

Apple提供的python很老 - 我的老虎安装有2.3.5。这对你来说可能不是问题,但你会错过很多。此外,Apple还有风险更新它。我不确定从2.3.5移动到(例如)2.4会导致代码中断,但我想这是可能的。这最近发生在perl人身上:http://developers.slashdot.org/article.pl?sid=09/02/18/1435227

Macpython是一个框架构建(我相信Apple也是如此)。说实话,我不确定这意味着什么,但它是某些模块的先决条件,特别是wxPython。如果你从macports或fink获得python,你将无法运行wxPython(除非你通过X11运行它)。

答案 9 :(得分:1)

猜猜每个答案都忘记了什么...... ActivePython

即使对于numpylxmlpyqtthousands of others等第三方模块,也无需进行编译。

ActivePython Community Edition logo

答案 10 :(得分:0)

我推荐python(任何python?)和ipython shell。我最近使用MacPython的经历是MacPython 2.5,我发现IDLE很难用作编辑器。它不是很有特色,而且滚动大量输出的速度非常慢。