Python OS X 10.5 开发环境

4
我想尝试使用Google App Engine Python环境,文档显示它运行在2.5.2版本。由于我使用的是OS X Leopard系统,已经安装了Python 2.5.1,但我想要安装最新的2.5.x版本(而不是2.6或3.0)。看起来最新版本是2.5.4
因此,我去了这个地方:

http://wiki.python.org/moin/MacPython/Leopard

我停止了安装最新版本,因为我担心这会影响标准安装。我只想安装一个版本。

我的问题是如何安全地安装最新的2.5.x版本?是否可以完全替换内置版本,如果可以,是否会影响Mac工具?

谢谢, Shane

2个回答

7
你可以在Mac上安装Python,而且不会影响默认安装。但是我强烈建议你使用MacPorts来安装Python,因为这样将使你更容易地安装Python的库和包,在以后的过程中。此外,如果你尝试使用MacPorts安装依赖于Python的程序或库,即使你已经安装了MacPython,MacPorts也会下载Python的副本,因此如果你安装了MacPython,但稍后选择使用MacPorts,则可能会导致冗余的Python副本。要使用MacPorts安装Python,请下载并安装MacPorts,然后键入:

sudo port install python25 python_select
sudo python_select python25

运行以下命令查看Python的所有MacPorts软件包:

port list | grep py25-

你可以通过简单地键入以下内容之一来安装列表中的任何包:

sudo port install packagename

在上面的命令中,将packagename替换为软件包的名称。在我的第一个安装中,我总是运行:

sudo port install py25-setuptools

[ 注意:这些命令需要从终端运行-- 应用程序 > 实用工具 > 终端.app ]


我个人使用Python 2.6(您可以使用“py26”和“python26”代替“py25”和“python25”),但问题要求使用2.5,因此您应该这样做。是否有任何在2.5上运行但在2.6上不再运行的内容? - Michael Aaron Safyan
此外,使用MacPorts切换Python版本比使用MacPython更加容易;您只需要运行“python_select”并选择您喜欢的版本,或者运行“python_select -l”列出所有已安装的版本即可。 - Michael Aaron Safyan
有趣。系统如何选择在终端会话中使用哪个版本的Python?“sudo port install packagename”是否修改了$PATH?此外,安装文件会被安装到哪里? - Shane
我不确定 python_select 是否会修改你的 $PATH,但是如果我没记错的话,你可以通过更改几个符号链接的目标非常简单地在 Python 安装之间切换(在 /usr/bin 中查看)。 - Matt Ball
"python_select" 命令不会修改您的路径。当您安装 MacPorts 时,它会将 "/opt/local/bin" 放置在您的 PATH 中。当您安装 "python25"、"python26" 或 "python30" 包时,它们会在 "/opt/local/bin" 中创建二进制文件 "python2.6"、"python2.6" 和 "python3.0",但不会在 "/opt/local/bin" 中创建名为 "python" 的二进制文件。"python_select" 的作用是在 "/opt/local/bin" 中创建一个名为 "python" 的符号链接,该符号链接指向您指定的 python 安装的二进制文件。 - Michael Aaron Safyan
显示剩余3条评论

3

你当前的Python版本位于/System/Library/Frameworks/Python.framework/

如果安装MacPython,它将会被安装到/Library/Frameworks/Python.framework/。安装程序将修改您的$PATH(环境变量),这样在命令行中键入python将运行安装的版本。

您可以通过再次修改路径来轻松恢复旧版本。

您需要重新安装使用的任何第三方模块。这是因为第三方模块会进入Python.framework/Versions/Current/lib/python2.5/site-packages/,对应您正在运行的版本。

由于您不会修改系统版本,因此不会影响依赖于它的任何苹果系统工具。

(事实上,从一开始安装MacPython并且不要触碰苹果提供的版本可能更安全。请参见这里,其中涉及到Perl的类似情况,苹果更新了/System中的Perl版本,破坏了许多人的设置)

您还可能对virtualenv感兴趣。


谢谢您的回复。我查看了我的当前安装,我有“/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/”,但它没有包含“site-packages”文件夹。这是否意味着我没有安装任何软件包?如果是这样,那么我似乎可以直接安装。 附言:“virtualenv”看起来非常有趣,但我真的只想要最新的2.5版本,所以可能有点过度设计。 - Shane
嗯,可能可以。我不确定。我正在运行Tiger(它附带py2.3),并且在/System中有一个site-packages目录(基本上是空的)。如果您没有安装任何软件包,则不应遇到任何问题。 - John Fouhy
1
苹果提供的Python(/System/Library/...)的站点包被安装到 /Library/Python/x.x/ 中。python.org安装程序(MacPython)的站点包直接安装到预期位置,即在框架中的 /Library/Frameworks/Python.framework/Versions/n.n 中。 - Ned Deily

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接