无法设置MySQLdb模块

| 我正在努力尝试在Mac上设置MySQLdb以便连接到远程MySQL服务器。 我已经安装了最新的C MySQL客户端库 我已经安装了XCode 4 我天真地尝试在安装XCode或客户端库之前安装模块 我试图通过在终端中运行以下命令来设置模块: $ sudo python setup.py构建 $ sudo python setup.py安装 这两个命令均失败,并显示类似的错误消息。这是第一个堆栈跟踪:
running build
running build_py
copying MySQLdb/release.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb
running build_ext
building \'_mysql\' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -Dversion_info=(1,2,3,\'final\',0) -D__version__=1.2.3 -I/usr/include/mysql -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _mysql.c -o build/temp.macosx-10.6-universal-2.6/_mysql.o -fno-omit-frame-pointer -pipe
In file included from _mysql.c:36:
/usr/include/mysql/my_config.h:1030:2: warning: #warning defining SIZEOF_CHARP = 4
/usr/include/mysql/my_config.h:1044:2: warning: #warning defining SIZEOF_LONG = 4
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed
Installed assemblers are:
/usr/bin/../libexec/gcc/darwin/x86_64/as for architecture x86_64
/usr/bin/../libexec/gcc/darwin/i386/as for architecture i386
In file included from _mysql.c:36:
/usr/include/mysql/my_config.h:1030:2: warning: #warning defining SIZEOF_CHARP = 4
/usr/include/mysql/my_config.h:1044:2: warning: #warning defining SIZEOF_LONG = 4
/usr/include/mysql/my_config.h:1151:1: warning: \"WORDS_BIGENDIAN\" redefined
In file included from /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:8,
                 from pymemcompat.h:10,
                 from _mysql.c:29:
/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/pyconfig.h:1014:1: warning: this is the location of the previous definition
_mysql.c:2888: fatal error: error writing to -: Broken pipe
compilation terminated.
In file included from _mysql.c:36:
/usr/include/mysql/my_config.h:1027:2: warning: #warning defining SIZEOF_CHARP = 8
/usr/include/mysql/my_config.h:1041:2: warning: #warning defining SIZEOF_LONG = 8
lipo: can\'t open input file: /var/tmp//ccU6bipK.out (No such file or directory)
error: command \'gcc-4.2\' failed with exit status 1
这是第二条命令的堆栈跟踪:
running install
running bdist_egg
running egg_info
writing MySQL_python.egg-info/PKG-INFO
writing top-level names to MySQL_python.egg-info/top_level.txt
writing dependency_links to MySQL_python.egg-info/dependency_links.txt
reading manifest file \'MySQL_python.egg-info/SOURCES.txt\'
reading manifest template \'MANIFEST.in\'
warning: no files found matching \'MANIFEST\'
warning: no files found matching \'ChangeLog\'
warning: no files found matching \'GPL\'
writing manifest file \'MySQL_python.egg-info/SOURCES.txt\'
installing library code to build/bdist.macosx-10.6-universal/egg
running install_lib
running build_py
copying MySQLdb/release.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb
running build_ext
building \'_mysql\' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -Dversion_info=(1,2,3,\'final\',0) -D__version__=1.2.3 -I/usr/include/mysql -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _mysql.c -o build/temp.macosx-10.6-universal-2.6/_mysql.o -fno-omit-frame-pointer -pipe
In file included from _mysql.c:36:
/usr/include/mysql/my_config.h:1030:2: warning: #warning defining SIZEOF_CHARP = 4
/usr/include/mysql/my_config.h:1044:2: warning: #warning defining SIZEOF_LONG = 4
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed
Installed assemblers are:
/usr/bin/../libexec/gcc/darwin/x86_64/as for architecture x86_64
/usr/bin/../libexec/gcc/darwin/i386/as for architecture i386
In file included from _mysql.c:36:
/usr/include/mysql/my_config.h:1030:2: warning: #warning defining SIZEOF_CHARP = 4
/usr/include/mysql/my_config.h:1044:2: warning: #warning defining SIZEOF_LONG = 4
/usr/include/mysql/my_config.h:1151:1: warning: \"WORDS_BIGENDIAN\" redefined
In file included from /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:8,
                 from pymemcompat.h:10,
                 from _mysql.c:29:
/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/pyconfig.h:1014:1: warning: this is the location of the previous definition
_mysql.c:2888: fatal error: error writing to -: Broken pipe
compilation terminated.
In file included from _mysql.c:36:
/usr/include/mysql/my_config.h:1027:2: warning: #warning defining SIZEOF_CHARP = 8
/usr/include/mysql/my_config.h:1041:2: warning: #warning defining SIZEOF_LONG = 8
lipo: can\'t open input file: /var/tmp//cchhckGP.out (No such file or directory)
error: command \'gcc-4.2\' failed with exit status 1
我已经在这里待了几天,它开始让我发疯。任何帮助将不胜感激!     
已邀请:
通过安装新的和具有前瞻性的
Xcode 4
而不是Mac OS X 10.6发行的最新版本ѭ3set,您已经使自己头痛。您遇到的直接问题是Python尝试使用与Python本身相同的配置来构建C扩展模块。对于10.6,它包括三种体系结构:
i386
x86_64
ppc
(以与早期系统上构建的程序兼容)。显然,“ѭ2”已取消了对建造“ѭ6”拱的支持。通过使用
ARCHFLAGS
环境变量,您可以轻松解决此问题,该变量用于在构建扩展模块时覆盖Python Distutils使用的arch设置。尝试做这样的事情(未经试用,因为我没有Xcode 4):
sudo bash
export ARCHFLAGS=\'-arch i386 -arch x86_64\'
rm -r build
python setup.py build
python setup.py install
如在其他地方所建议的,更好的解决方案是不要尝试使用系统Python和MySQL二进制安装程序在10.6上安装MySQLdb。而是通过软件包管理器(如MacPorts)安装所有内容,以使用完整的解决方案。     
我刚刚发现了另一种解决方法。 我遇到了与您相同的问题,我的python版本是2.7.4和Xcode4。也许您像我一样得到了32位的python。所以我将其更改为2.7.5x64bit,那么应该没有问题。     

要回复问题请先登录注册