在OS X上安装python 2的最佳方法是什么?

时间:2011-03-08 16:53:15

标签: python macos numpy tkinter ipython

我的一位同事希望在他的OS X(10.6)机器上使用我的python 2代码。我的代码导入了几个内置的python包,包括Tkinter和shelve,还使用了第三方包,包括numpy,scipy,matplotlib和ipython。

我在OS X的内置python中遇到了一些问题。 (IDLE不起作用,例如*)。我怀疑我应该安装more recent version of pythondifferent version of Tk

我的问题:

  1. 在同一台机器上有两个不同版本的python / Tk会导致问题吗?

  2. 我想将终端命令'python','ipython'和'easy_install'与更新版本的python相关联。我该怎么做?

  3. 当我安装第三方软件包如numpy using a .dmg file时,如何控制安装哪个版本的python numpy?

  4. 有更好的方法吗?

  5. 如果这个过程顺利,我会考虑在我的代码文档中添加OS X指令,所以我想把这个过程归结为最简单,最通用的方法。

    *编辑:此外,this

    编辑:谢谢大家的有用答案。我的同事尝试了MacPorts,它似乎运行良好,但有几个speedbumps。首先,我们必须从系统安装盘安装Xcode。这不是快速或轻量级安装(几GB)。幸运的是我们还有磁盘!安装Xcode后,MacPorts易于安装。 Python和我们需要的python子包也很容易安装,但他告诉我这个安装需要几个小时。据推测,这种延迟是由于汇编造成的?他很容易将MacPorts python设置为默认值。但是,我认为我们必须手动更改'Python Launcher'应用程序,这似乎仍然默认为系统python。

    即使他现在有一个工作系统,我很想让他尝试其他解决方案之一。我不确定我的所有代码的潜在用户是否都会容忍多小时,数千兆字节的安装。

7 个答案:

答案 0 :(得分:10)

我使用brew来安装我的所有库/编译器/解释器。

要安装python,请尝试以下操作:

brew install python

然后将Python的二进制文件目录添加到$PATH中的~/.profile

export PATH=`brew --prefix python`/bin:$PATH

我建议您安装pipvirtualenvvirtualenvwrapper,以便更好地控制您的环境。

答案 1 :(得分:5)

您是否尝试过ActivePython

它包含一个包管理器(PyPM),默认情况下会安装到您的主目录中(例如:~/Library/Python/2.7)。主要脚本在/usr/local/bin中进行符号链接;使用包含的pythonselect来设置活动的Python版本。

您不必费心安装.dmg软件包,因为PyPM是二进制软件包管理器...因此您可以安装非纯Python软件包,如NumPy,而不必自己编译。

ActivePython可以使用Apple的Tcl / Tk,如果安装了ActiveTcl,也可以使用。

您的文档中的“最简单,最通用的方法”可以是:

  1. 安装ActivePython 2.7
  2. 打开终端并输入pypm-2.7 install matplotlib ipython

答案 2 :(得分:2)

在几乎所有情况下,使用的最佳python是来自http://python.org/的python。它正确设置路径,不会覆盖任何内容。 DMG包安装通常会自动工作,python setup.py install也是如此,并且让setuptools工作起来并不困难。如果您希望按用户安装,则可以轻松设置.pydistutils.cfg并且python会自动识别路径install_lib = ~/Library/Python/$py_version_short/site-packages

答案 3 :(得分:2)

使用MacPorts,您可以使用自己的软件包同时安装python 2.6,2.7,3.1和3.2,而无需触及内置的python。

numpy,scipy,matplotlib和ipython也可用作大多数python版本的端口。

此外,如果您安装python_select端口,您将能够:

  • 选择其中哪一个(加上内置的python)是“默认”python;

  • 通过easy_install / pip为“selected”python安装python包,如果它们不能作为端口使用。

将virtualenv添加到组合中,您将拥有一个非常非常灵活的Python开发环境。

关于你的问题:

Q1:使用MacPorts,没有。虽然不是常用的用户,但我在2.6和2.7中安装并使用了matplotlib,使用python_select在两者之间切换。

Q2:easy_install,pip,ipython将“链接”到他们安装的python上。 (但见提示1)

问题3:在python_select'ed python下安装py {26,27,xx} -numpy端口或pip install numpy之一更容易。

第四季:嗯,MacPorts是我在Debian / Ubuntu APT之后知道的最好的事情......: - )

现在,如果您尝试使用MacPorts,请提供两个提示:

  1. MacPorts在OS X安装中与/ opt / local目录中分别安装端口,每个python版本都安装在/opt/local/Library/Frameworks/Python.framework/Versions/{2.5,2.6,2.7,...}目录中。使用python_select干净地使用链接切换“python”命令。但是......安装了python脚本的Versions/{2.5,2.6,2.7,...}/bin目录没有添加到PATH中。只需将export PATH=/opt/local/Library/Frameworks/Python.framework/Versions/Current/bin:$PATH添加到~/.profile,您就可以直接访问为所选python安装的脚本。

  2. 为避免出现意外错误,我在echo Selected python is \"$(python_select -s)\"添加了~/.profile行,所以我在打开会话时总是知道哪个是我当前选择的python ... :-)

  3. 问候,

    乔治

答案 4 :(得分:2)

有关brew用法的附录:

一段时间以来,brew install python将安装python 3

如果您打算安装python 2 ,则要使用

brew install python@2

使用brew安装python和python3都很好!

答案 5 :(得分:1)

Here is an old post that answers your questions too.

通常,在您的计算机上安装多个python根本不是问题。您只需要注意在命令行中调用哪一个。

>> which python 

...有助于识别python二进制文件的位置。最初的Mac OS X python通常位于“/ usr / bin / python”

我个人使用MacPorts python安装。它还支持您安装模块。 (见上面的链接)

答案 6 :(得分:-1)

我的MacBook Pro上有4个版本的python。 2.从原来安装的OS X 10.6和随后的更新,然后自行安装python 2.7和3.2的副本。您可以更新python命令以指向任何版本。它们都安装在不同的目录中,彼此没有问题。

我不确定从.dmg文件安装时会发生什么。我相信它只会使用任何版本的python点。

superuser.com上的这个post会回答您关于更改默认路径的问题。