0

目前,由于 gcc-4.0 错误,我无法安装任何 Python 包。我将复制两个我遇到的错误示例(一个使用pip,另一个使用手动 setup.py 构建/安装方法):

sgarza62$ pip install PIL
Downloading/unpacking PIL
  Running setup.py egg_info for package PIL
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py

Installing collected packages: PIL
  Running setup.py install for PIL
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py
    --- using frameworks at /System/Library/Frameworks
    building '_imaging' extension
    gcc-4.0 -fno-strict-aliasing -fno-common -dynamic -arch ppc -arch i386 -g -O2 -DNDEBUG -g -O3 -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -IlibImaging -I/Library/Frameworks/Python.framework/Versions/2.7/include -I/usr/include -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.3-fat-2.7/_imaging.o
    unable to execute gcc-4.0: No such file or directory
    error: command 'gcc-4.0' failed with exit status 1
    Complete output from command /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -c "import setuptools;__file__='/var/folders/9q/bvqtzkbx1hg1934b36zgk0y40000gp/T/pip-build/PIL/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/9q/bvqtzkbx1hg1934b36zgk0y40000gp/T/pip-nV9YEx-record/install-record.txt --single-version-externally-managed:
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py

running install

running build

running build_py

running build_ext

--- using frameworks at /System/Library/Frameworks

building '_imaging' extension

gcc-4.0 -fno-strict-aliasing -fno-common -dynamic -arch ppc -arch i386 -g -O2 -DNDEBUG -g -O3 -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -IlibImaging -I/Library/Frameworks/Python.framework/Versions/2.7/include -I/usr/include -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.3-fat-2.7/_imaging.o

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

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

sgarza62$ cd Imaging-1.1.7
sgarza62$ sudo python setup.py build
running build
running build_py
running build_ext
--- using frameworks at /System/Library/Frameworks
building '_imaging' extension
gcc-4.0 -fno-strict-aliasing -fno-common -dynamic -arch ppc -arch i386 -g -O2 -DNDEBUG -g -O3 -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -IlibImaging -I/Library/Frameworks/Python.framework/Versions/2.7/include -I/usr/include -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.3-fat-2.7/_imaging.o
unable to execute gcc-4.0: No such file or directory
error: command 'gcc-4.0' failed with exit status 1

这是我将从终端复制的一堆信息,希望其中一些有助于识别问题:

sgarza62$ gcc
i686-apple-darwin11-llvm-gcc-4.2: no input files

sgarza62$ python
Python 2.7.3 (v2.7.3:70274d53c1dd, Apr  9 2012, 20:32:06)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

sgarza62$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python

sgarza62$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

sgarza62$ /usr/bin/python -c 'import sys;print(sys.version)'
2.7.2 (default, Jun 16 2012, 12:38:40) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)]
sgarza62$ /usr/bin/python2.6 -c 'import sys; print(sys.version)'
2.6.7 (r267:88850, Jun 16 2012, 12:38:45) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)]
sgarza62$ /usr/bin/python2.5 -c 'import sys;print(sys.version)'
2.5.6 (r256:88840, Jun 16 2012, 12:38:24) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)]
sgarza62$ /usr/bin/python2.7 -c 'import sys;print(sys.version)'
2.7.2 (default, Jun 16 2012, 12:38:40) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)]

以下是堆栈上的一些问题/答案,它们解决了相同或相似的问题(但没有为我的问题提供完整的解决方案)。也许这些以前的答案将有助于解决这个问题:

在具有不同 gcc 版本的 Mac OS 10.6 上重新安装 python

如何在 Mac OS X 10.8 / Xcode 4.4 上使用/安装 gcc

在 OS X 上使用错误版本的 GCC 构建 Python


这些是我已经做过的事情,建议堆栈用户解决类似问题:

  • 下载 Xcode

  • 在 Xcode 首选项中安装命令行工具

  • sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2


在这个问题上,我已尽我所能以清晰有序的方式提供尽可能多的事实。但是,如果你们需要更多信息,请询问!我很乐意用更多细节来编辑这个问题。

另外,我知道这似乎是一个非常具体的问题,但是通过四处搜索,看起来许多其他人对此问题感到困惑。

如果您不介意,我将非常感谢一个勺子喂养的解决方案(明确说明我必须在终端中做什么来解决这个问题)。我在终端上还不是很舒服,对笼统的答案有点困惑。

谢谢大家的时间,我很感激!

4

1 回答 1

4

这里的问题是您试图在带有 Xcode 4 的 OS X 系统上使用仅 32 位的 python.org 2.7.3。仅 32 位的安装程序旨在与许多 OS X 版本兼容回到 10.3.9。不幸的是,随着 Xcode 4 中 PPC 支持的移除以及在那里进行的各种其他更改,安装具有 C 扩展模块的第三方 Python 包不再适用于具有 Xcode 4 的 10.7 及更高版本的系统。它不过,可以解决它们。在 PIL 的情况下,通过环境变量更改几个 Python Distutils 默认值应该可以解决问题:

# override the default gcc-4.0 compiler and use clang instead
$ export CC=clang
# override the universal architectures to only use Intel-32
$ export ARCHFLAGS='-arch i386'
$ pip install PIL

python.org 网站为当前 Python 版本提供了两个 OS X 安装程序变体。另一个安装程序提供的 Python 是 64 位/32 位版本,配置用于更小、更新的系统范围;它不支持 PPC,Xcode 4 也不会有这个问题。

顺便说一句,Python 2.7 (2.7.4) 的下一个版本通过两个安装程序为 Xcode 4 提供了更好的支持,并且不应该有这个问题。

于 2013-02-06T05:28:56.893 回答