Mac OS X Lion,virtualenv,PIL 安装 - gcc 错误

10 投票
5 回答
8436 浏览
提问于 2025-04-16 22:41

我刚刚在我的Mac上安装了Xcode,系统是Mac OS X Lion。安装完成后,我尝试在一个虚拟环境中用pip、easy_install和Homebrew来安装PIL,但这三种方法都出错了。使用pip安装时出现了以下错误:

pip `

unable to execute gcc-4.0: No such file or directory

error: command 'gcc-4.0' failed with exit status 1

`

而使用easy_install时,出现了这个错误:无法执行gcc-4.0:没有这样的文件或目录 错误:设置脚本出错:命令'gcc-4.0'失败,退出状态为1

使用Homebrew时,错误信息是:错误:执行失败:python setup.py build_ext

我现在不知道该怎么办了。

谢谢,

CG

5 个回答

0

你能在你的系统上找到 gcc-4.0 这个程序吗?你可能需要把它所在的文件夹加到你的 PATH 环境变量里。

1

我花了好几个小时在同一个问题上,最后找到了解决办法:

首先,下载PIL的源代码,然后进入这个文件夹。

接着,检查一下你电脑上安装的gcc版本,可以用下面的命令:

gcc
i686-apple-darwin10-gcc-4.2.1: no input files

然后,我强制使用这个版本,方法是:

export CC=gcc-4.2

接下来,选择正确的架构(我这里是32位):

export ARCHFLAGS="-arch i386"

如果是64位的话,就用这个命令:export ARCHFLAGS="-arch x86_64"

最后,进行构建和安装:

python setup.py build
python setup.py install
8

Xcode 4.1 在 OS X Lion 10.7 上不再像之前的版本那样包含 gcc-4.0 这个工具。当你安装一个像 PIL 这样的 Python 包时,如果它包含 C 扩展模块,Python 的 Distutils 会尝试使用和 Python 本身构建时相同版本的 C 编译器。听起来你用来创建 virtualenv 的 Python 版本是一个较旧的只支持 32 位的 Python,它是用 gcc-4.0 构建的。你可以通过在你的 virtualenv 中启动 python 来确认这一点。如果显示的是 gcc-4.0,那么你需要重新创建这个虚拟环境,使用一个更新的基础 Python,可以选择 Lion 自带的 Python,或者通过 python.org 的安装程序或 brew 来安装一个更新的 Python。然后为这个 Python 安装 Distributepipvirtualenv,接着创建一个新的虚拟环境,并在其中安装 PIL。

撰写回答