无法在Mac上安装Python软件包(gcc-4.0错误)

时间:2012-12-06 23:12:06

标签: python macos gcc compiler-construction terminal

  

可能重复:
  How to use/install gcc on Mac OS X 10.8 / Xcode 4.4

由于以下错误,我无法使用easy_insallpip安装任何Python包。我到处寻找,并看到了这个错误的几个变化,但没有找到一个易于理解/遵循的解决方案。非常感谢任何帮助!

我在Mac OS 10.8.1上运行

Python版本2.7.3

Xcode版本4.5.2(安装了命令行工具)

...如果您需要更多信息以便找出问题,请询问!

$ easy_install pil
Searching for pil
Reading http://pypi.python.org/simple/pil/
Reading http://www.pythonware.com/products/pil
Reading http://effbot.org/zone/pil-changes-115.htm
Reading http://effbot.org/downloads/#Imaging
Best match: PIL 1.1.7
Downloading http://effbot.org/media/downloads/PIL-1.1.7.tar.gz
Processing PIL-1.1.7.tar.gz
Writing /var/folders/9q/bvqtzkbx1hg1934b36zgk0y40000gn/T/easy_install-wfZs_Y/PIL-1.1.7/setup.cfg
Running PIL-1.1.7/setup.py -q bdist_egg --dist-dir /var/folders/9q/bvqtzkbx1hg1934b36zgk0y40000gn/T/easy_install-wfZs_Y/PIL-1.1.7/egg-dist-tmp-DXWOmC
WARNING: '' not a valid package name; please use only.-separated package names in setup.py
--- using frameworks at /System/Library/Frameworks
unable to execute gcc-4.0: No such file or directory
error: Setup script exited with error: command 'gcc-4.0' failed with exit status 1

不确定这是否有帮助,但当我运行sudo port select --list gcc时,我会得到以下结果:

Available versions for gcc:
    llvm-gcc42
    mp-gcc45
    none (active)

1 个答案:

答案 0 :(得分:0)

这只是一个猜测,基于您必须安装MacPorts(或sudo port select --list gcc只会给您port: command not found错误)这一事实,但我怀疑您已经安装了MacPorts Python 2.7 .3,你正试图为此安装PIL。

如果要将软件包添加到MacPorts Python安装中,您应该首先检查是否有端口,如果是,请使用它:

port search pil

在这种情况下,您会发现有一个py27-pil。安装它。

同时,如果不适用,您几乎应该始终使用pip代替easy_install(有一些例外情况,尤其是readline),您需要确保您的路径设置正确,因此您运行的是您认为自己的路径,或者您最终可能会运行使用Apple python为MacPorts python设置的脚本。

但是,我还怀疑您为早期版本的OS X安装了过时的MacPorts安装,并且在升级到Mountain Lion时没有按照升级说明进行操作。如果这是真的,唯一合适的解决方法是获取已安装端口列表sudo rm -rf /opt/local,运行最新的MacPorts安装程序,然后sudo port install所有以前安装的端口。

最重要的是,上次我使用MacPorts Python(这是很久以前,所以它可能不是最新信息),它没有安装到/Library(IIRC,它设置) /opt/local/Library作为额外的库目录,这意味着您实际上至少有三个 Python 2.7安装:Apple(在/System/Library/usr中),MacPorts (在/opt/local)和其他一些版本(在/Library中,可能在/usr/local中),当您打算使用第三个版本时,您正在使用第二个easy_install

如果你不知道如何处理这种多重复制的同一件事疯狂,并且你没有非常好的理由邀请它,那么正确的答案是不安装这些其他的蟒蛇(并卸载你已经拥有的任何蟒蛇)。你真的需要MacPorts python吗?你能使用内置的Python吗?如果没有,为什么不呢?你至少可以使用python.org Python吗?

如果您不想修复任何基本问题,并且您真的想要将内容安装到期望您拥有gcc-4.0的MacPorts Python中,那么您可以安装macports {{1}虽然你可能不得不让事情相信gcc4.0真的是macports-gcc-4.0。 (可能有一种方法可以正确地使用MacPorts;如果没有,符号链接可能会起作用。)但这可能是一个坏主意,如果你回来时我不会感到惊讶“这似乎有效但后来我在重建东西的过程中得到了另一个错误348分钟“,没有人能够帮助你。