【发布时间】:2013-07-05 02:53:00
【问题描述】:
我正在尝试在我的 mac 中安装 hg。我的操作系统是 10.9(BD2)。我使用easy_install mercurial 或pip install -U Mercurial,但所有这些打印错误:
error: command 'gcc' failed with exit status 1
而且我可以在我的 mac 中使用 gcc 命令,这是怎么回事?
【问题讨论】:
我正在尝试在我的 mac 中安装 hg。我的操作系统是 10.9(BD2)。我使用easy_install mercurial 或pip install -U Mercurial,但所有这些打印错误:
error: command 'gcc' failed with exit status 1
而且我可以在我的 mac 中使用 gcc 命令,这是怎么回事?
【问题讨论】:
对于像 Mercurial 这样的东西,使用二进制发行版通常更容易且“更好”。 OS X 10.8 的版本可以在here 找到——我想它也可以在 10.9 上运行。不同版本的 OS X 的不同版本主要与系统 python 的差异有关。由于 10.8 附带 Python 2.7,它是 Python 2.x 系列的最新——也是最后一个——版本,我认为可以安全地假设 Python 版本在这里不会产生太大的困难。
二进制分发有两个优点:
您可以避免编译问题,例如与无法找到正确标头无关的问题(建议在this answer
二进制安装程序还将完成涉及您的路径的所有必要工作
“缺点”基本上是您在site-packages 文件夹中有效地安装了一个成熟的Unix 实用程序,而不仅仅是一个python 包。
另一种选择(尽管要复杂得多)是下载源代码并自己进行完整构建。它实际上并不像听起来那么难,而且您将能够准确地看到编译步骤失败的地方。
【讨论】:
这可能是因为您没有安装 python 开发头文件。如果您使用的是 Linux,请尝试安装开发包:
apt-get install python-dev
apt-get install libevent-dev
否则,您可以在 virtualenv 中安装 Mercurial:
sudo easy_install virtualenv
mkdir myenv && cd myenv && virtualenv . && . bin/activate
pip install Mercurial hg-git
(如果需要,只在 pip install 中包含 hg-git)
如果在您的 PATH 中找不到 Mac 指令第二行中的 virtualenv 命令,那么提供完整路径(如下所示)可能会起作用:
$ /usr/local/Cellar/python/2.7.1/Frameworks/Python.framework/Versions/2.7/bin/virtualenv .
【讨论】: