【问题标题】:What is the best way to install python 2 on OS X?在 OS X 上安装 python 2 的最佳方法是什么?
【发布时间】:2011-03-08 16:53:15
【问题描述】:

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

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

我的问题:

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

  2. 我想将终端命令“python”、“ipython”和“easy_install”与最新版本的 python 相关联。我该怎么做?

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

  4. 有更好的方法吗?

如果这个过程顺利,我会考虑将 OS X 指令添加到我的代码文档中,因此我想将此过程归结为最简单、最通用的方法。

*编辑:另外,this

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

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

【问题讨论】:

  • 注意,如果内存服务正确,OSX 10.6 附带 python 2.4,并且如果内存服务正常,则再次更新到 2.6。我不使用默认安装...
  • 我自己从未使用过它,但 MacPorts 可以为安装或未安装 MacPorts 的目标系统生成预编译的二进制包:guide.macports.org/#using.binaries
  • macports 现在有一个构建服务器,Sl 和 Lion 可以生成预编译的二进制文件 - 你仍然需要 Xcode - 现在来自 App Stroe

标签: python macos numpy tkinter ipython


【解决方案1】:

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

要安装python,试试这个:

brew install python

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

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

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

【讨论】:

  • 如何控制安装哪个版本的pythonbrew
  • 所以我不使用brew,我猜info命令会告诉你python的版本是什么,但它是否让你选择安装不同的版本?
  • 不,你应该在你的 virtualenv 中安装 Python。
【解决方案2】:

你试过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

【讨论】:

  • 谢谢,我想我下次试试这个
  • +1,我使用 ActivePerl,我最喜欢的 Python 编辑器是 Komodo。
【解决方案3】:

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

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

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

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

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

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

至于你的问题:

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

Q2:easy_install、pip、ipython 将“链接”到安装它们的 python。 (但请参阅提示 1)

Q3:在您的 python_select'ed python 下安装 py{26,27,xx}-numpy 端口或pip install numpy 会更容易。

Q4:嗯,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. 为避免意外,我在~/.profile 中添加了echo Selected python is \"$(python_select -s)\" 行,因此我在打开会话时始终知道当前选择的python 是什么... :-)

问候,

乔治

【讨论】:

  • 哎呀......对不起@sebs,我不知何故错过了你提到的MacPorts和你的链接。 :-q
【解决方案4】:

在几乎所有情况下,最好使用的python 是来自http://python.org/ 的python。它正确设置路径并且不会覆盖任何内容。 DMG 软件包安装通常会自动运行,python setup.py install 也是如此,让setuptools 运行并不难。如果你想按用户安装,设置.pydistutils.cfg 很容易,python 会自动识别路径install_lib = ~/Library/Python/$py_version_short/site-packages

【讨论】:

    【解决方案5】:

    关于brew使用的附录:

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

    如果你打算安装python2,你要使用

    brew install python@2
    

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

    【讨论】:

    • 这不再起作用了,因为它已从提交 028f11f9e4 中的 homebrew/core 中删除
    【解决方案6】:

    Here is an old post that answers your questions too.

    一般来说,在您的机器上安装多个 python 完全不是问题。你只需要注意你在命令行上调用的是哪一个。

    >> which python 
    

    ... 有助于确定您的 python 二进制文件所在的位置。原始的 Mac OS X python 通常位于“/usr/bin/python”

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

    【讨论】:

      【解决方案7】:

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

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

      superuser.com 上的 post 回答您有关更改默认路径的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-13
        • 2018-08-21
        • 2015-09-07
        • 1970-01-01
        • 2018-08-13
        • 1970-01-01
        相关资源
        最近更新 更多