Mac OS X上预装的Python和MacPorts Python之间的区别

时间:2011-04-06 20:13:15

标签: python

在Mac OS X PIL上尝试为Python 2.6安装Snow Leopard时,我遇到了多个问题和多个解决方案。所以我想清除基础知识。

使用MacPorts安装Python和使用系统附带的Python有什么区别?有什么好处?

所以在我的情况下,对于Django,我使用的是Python提供的系统。但是对于GAE,如果我想使用PIL,我(显然)需要通过MacPorts提供Python。这是否意味着我的Django脚本会破坏?

在其他想法中,是否有一种标准的方式来完成此安装,涵盖所有可能的场景?

3 个答案:

答案 0 :(得分:1)

这里有很多关于如何解决问题的好建议,但没有多少人在回答你的问题。这些不同版本之间的主要区别在于它们放置和加载二进制文件和库模块的位置。 Mac python安装程序的侨民可以放置/opt/local/Library/Frameworks/Python.framework/Versions/*/Library/Frameworks/Python*/usr/local/python/*等等。

除了容易获得适当的安装方法来识别它并将未来的软件包与安装的适当版本相关联之外,这些版本中没有一个本质上与另一个版本不同或更好(除了它们的python版本号所指示的差异)。如果你坚持用一种方法安装(自己编译,使用macports或自制程序,或者抓住预编译的.dmgs),那么让你的图书馆排成一行的可能性要大得多。

在使用mac时,我不想使用内置的python(它往往比较旧)而是使用macports。所以,我将使用macports安装python26和python库。如果包不可用,我确保到which python查看我正在使用哪个解释器,如果它不是合适的版本,我将使用macports'python_select选项来确保我我找对了。然后,我将继续使用pip安装该python版本。

最重要的是确保您拥有正确版本的python,并使用您想要使用的正确库。如果情况变得更糟,并且您已经找到了软件包管理器安装模块的位置,可以将其附加到sys.path列表以允许从您正在使用的任何解释器加载 - 尽管我发现它相当混乱。 / p>

答案 1 :(得分:0)

我相信他们是一样的。我一直在使用macports版本没有问题。但是,当你让PIL为GAE工作时,我遇到了同样的困难,我还有一些步骤可以帮助你取得成功:

  1. 安装macports
  2. sudo port install py26-pil + universal
  3. 在aptana / pydev中你需要配置一个新的解释器,所以在preferences-> pydev-> interpreter-python中,单击new然后浏览到/opt/local/Library/Frameworks/Python.framework/Versions/2.6 /bin/python2.6
  4. 一旦配置了新的解释器,您就可以开始了:)

答案 2 :(得分:0)

默认预装很旧。一些预装的库,如Twisted可以很好地使用它。但是一旦你添加了更多额外的库,比如PyQt4,那么事情就会开始变得难看。你当然可以从源代码中编译这些额外的库。

使用MacPorts简化了一切。你只需要获取Python运行时,它将与他们的PyQt4,Twisted等版本兼容。不确定Django,因为我从不使用它。

如果您正在使用MacVim编辑.py,使用MacPim版本的MacVim将为您提供额外的Python兼容性(带语法高亮等)