2012-12-06 51 views
0

可能重复:
How to use/install gcc on Mac OS X 10.8/Xcode 4.4无法在Mac上(GCC-4.0的错误)安装Python包

使用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

@jdi感谢您的链接......但正如我上面提到的,我已经安装了最新版本的Xcode,并在Xcode首选项(这是该链接中接受的解决方案)中安装了命令行工具。有任何想法吗? – sgarza62

+0

您是否检查过您的/开发人员位置和/或其他位置以确定问题是您没有将其包含在PATH中?运行这个:'find/usr/local/bin/Developer/-name“gcc”| grep“/ bin” ' – jdi

+0

@jdi当我运行它,我得到'find:/ Developer /:没有这样的文件或目录' – sgarza62

回答

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),你需要确保你的路径设置正确,所以你正在运行一个你认为你自己,或者你可能最终运行脚本设置为苹果python的MacPorts python。

但是,我还怀疑您安装了早期版本的OS X的过时MacPorts安装,升级到Mountain Lion时没有按照升级说明进行操作。如果这是真的,唯一合适的修复方法是获取已安装端口列表,sudo rm -rf /opt/local,运行最新的MacPorts安装程序,然后sudo port install所有以前安装的端口。最后一次,我使用了MacPorts Python(很久以前,所以它可能不是当前信息),它没有安装东西到/Library(IIRC,它将/opt/local/Library设置为一个额外的库目录代替),这意味着你实际上有至少3组的Python 2.7的安装:苹果公司(在/System/Library/usr),MacPorts的(在/opt/local),以及其他一些版本(在/Library,可能/usr/local),和你”当你打算使用第三个时,请使用第二个的easy_install

如果你不知道如何处理这种多重副本的同一事物的精神错乱,并且你没有很好的理由来邀请它,那么正确的答案是不要安装这些其他蟒蛇(并卸载你已有的任何东西)。你真的需要MacPorts python吗?你可以使用内置的Python吗?如果不是,为什么不呢?你至少可以使用python.org Python吗?

如果您不想修复任何基本问题,并且您确实想将某些东西安装到希望拥有gcc-4.0的MacPorts Python中,则可以安装macintosh gcc4.0端口,虽然你可能不得不欺骗相信macports-gcc-4.0真的是gcc-4.0。 (可能有一种方法可以用MacPorts正确地执行此操作;如果没有,则可以使用符号链接。)但这可能是一个糟糕的主意,如果您回来的话,我不会感到惊讶“这似乎工作,但后来我得到这个其他错误348分钟重建东西“,没有人能够帮助你。

+0

感谢您的详细解答。我没有很好的理由使用MacPorts python。我应该采取哪些步骤来使用内置的Python或python.org Python(我应该卸载/配置什么)?我非常感谢用我应该运行的最简单的分步命令来编辑这个问题。 – sgarza62

+0

我相信'sudo port uninstall python27'会将它解开(同时保留它,以防万一你需要它)。如果你有第三个Python,我不知道如何在不知道哪一个的情况下摆脱它 - 但是如果它是python.org,我很确定他们在网站的某个地方有指示。之后,''easy_install'应该给'/ usr/bin/easy_install'或者'/ System/Library'内的路径(注意'System'部分),这意味着你再次使用Apple的python。 – abarnert

+0

当我运行'哪个easy_install'时,如果我仍然得到'/ Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install',我需要卸载第三个Python吗? – sgarza62