在 OS X 10.7 Lion 上安装 pycurl
我正在尝试在本地环境中安装PyCurl,这里有Python 2.7和gcc-4.2,系统是OS X 10.7 Lion。我根据这个回答安装PyCurl时出错来进行尝试:
sudo env ARCHFLAGS="-arch x86_64" pip install pycurl
但是因为我通过Xcode安装了gcc-4.2,所以这个方法失败了:
error: command 'gcc-4.0' failed with exit status 1
我还尝试下载源代码并构建一个setup.py(我根据在Mac Snow Leopard上安装PyCurl时遇到的问题进行了修改):
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -pipe -DHAVE_CURL_SSL=1 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/pycurl.c
结果还是出现了和之前一样的错误。我确认我确实有gcc-4.2,并且它链接到了我的/usr/bin目录。
我在想,如果我能正确编译它,让它在安装时使用gcc-4.2而不是gcc-4.0,可能就能成功。但我不知道该怎么做,也没有找到关于如何传递参数来使用特定gcc的解释。我希望尽量避免覆盖系统默认设置。
1 个回答
1
很可能你在系统上安装的是一个只支持32位的Python 2.7(可能是从python.org下载的),这个版本是用gcc-4.0
编译的,并且包含了PPC的通用版本。在安装了Xcode 4的情况下(这是10.7的默认版本,10.6是可选的),用这些Python版本来构建C扩展模块会遇到很多问题,因为gcc-4.0
和PPC支持都被去掉了。最简单且长期有效的解决办法是安装一个支持64位和32位的Python版本(可以查看python.org下载页面获取最新版本),或者直接使用在10.7中自带的Python 2.7.1(路径是/usr/bin/python2.7
)。