Mac OSX Mountain Lion上的GCC-4.2错误,无法安装mysql python

Mac OSX Mountain Lion上的GCC-4.2错误,无法安装mysql python,gcc,mysql-python,osx-mountain-lion,Gcc,Mysql Python,Osx Mountain Lion,我在Mac OSX Mountain Lion上构建MySQLdb时遇到问题。在从OSX Lion升级到OSX Mountain Lion之后,我还下载并安装了Xcode 4.4。然后,我转到首选项>下载Xcode和安装的命令行工具 我已经下载了MySQL python版本。1.2.3从 当我跑的时候 python setup.py build gcc 我收到以下信息: running build running build_py copying MySQLdb/release.py -&g

我在Mac OSX Mountain Lion上构建MySQLdb时遇到问题。在从OSX Lion升级到OSX Mountain Lion之后,我还下载并安装了Xcode 4.4。然后,我转到首选项>下载Xcode和安装的命令行工具

我已经下载了MySQL python版本。1.2.3从

当我跑的时候

python setup.py build
gcc
我收到以下信息:

running build
running build_py
copying MySQLdb/release.py -> build/lib.macosx-10.6-intel-2.7/MySQLdb
running build_ext
building '_mysql' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -O3 -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/local/mysql/include -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _mysql.c -o build/temp.macosx-10.6-intel-2.7/_mysql.o -Os -g -fno-common -fno-strict-aliasing -arch x86_64
unable to execute gcc-4.2: No such file or directory
error: command 'gcc-4.2' failed with exit status 1
然而,gcc是存在的。当我跑的时候

python setup.py build
gcc
我明白了

下面是我发现的一个类似的问题,但它的解决方案,这正是我已经做过的,对我不起作用


我使用ActivePython解决了这个问题

MySQLdb有特定的安装说明


由于这是我第一次使用ActivePython,我不确定这是否是解决这个问题的健壮解决方案。因此,我将保留这个问题,直到我确定这是可行的。

在使用RubyonRails 3.2.7时,我遇到了类似的问题。 我也将系统升级到了Mountain Lion,安装了Xcode 4.4.1并下载了命令行工具

在命令行上,我收到一条错误消息,说找不到文件:
/usr/bin/gcc-4.2
(很抱歉,我现在无法粘贴精确的输出)

我有一个
/usr/bin/gcc
,它的版本是
i686-apple-darwin11-llvm-gcc-4.2(gcc)4.2.1

我通过在同一目录中对文件进行符号链接并为其命名Ruby脚本所要查找的名称来解决此问题:

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

在那之后,一切都很顺利。

我遇到了这个。对我来说,这是因为我从一个DMG安装程序安装了python。这些都是根据错误的gcc构建的。我通过使用自制从源代码处编译python修复了它:

与正确的gcc链接


(在我的具体案例中,我使用的是较旧的Python,这就是我使用DMG安装程序的原因。我发现homebrew也有用于较旧版本的公式)

使用以下命令使make(或类似)使用正确的gcc:


export CC=/usr/bin/gcc

虽然我自己还没有尝试过,但我相信这应该适用于所有情况——因为它只是给出了代码想要的东西。如果有人能解释的话,我想知道山狮为什么会这样?我认为这主要取决于Xcode如何处理其命令行开发工具,例如,更新Xcode时删除它们的方式。如何将它们打包到您下载的whithin Xcode包中也很重要。Mountain Lion上Python 2.6的Makefile似乎在几个地方指定了CC=gcc-4.2。CONFIG_标志也会覆盖环境中指定的CC,这使得无法在命令行上重新定义它。这可能是硬编码到构建已安装Python的编译器,而不是系统编译器。修改lib/python2.6/config/Makefile中的两个CC定义,一切都会好起来:-)我在两台计算机上使用这个方法一个月都没有问题。