pycurl 安装失败:已满足 libcurl 最低版本
我在一台运行Intel的Mac OS X 10.5的电脑上使用Python 2.6。
我想安装pycurl 7.16.2.1(这里推荐的 http://curl.haxx.se/mail/curlpython-2009-03/0009.html),但不知道为什么,安装程序能找到我的libcurl 7.16.3,却还是坚持让我安装7.16.2或更高版本(难道7.16.3不符合要求吗?)
这是错误信息:
Running pycurl-7.16.2.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-3emZIB/pycurl-7.16.2.1/egg-dist-tmp-K10rbP
Using curl-config (libcurl 7.16.3)
src/pycurl.c:54:4:src/pycurl.c:54:4: error: #error "Need libcurl version 7.16.2 or greater to compile pycurl."
error: #error "Need libcurl version 7.16.2 or greater to compile pycurl."
我确认运行curl-config --version显示的是libcurl 7.16.3。
有什么建议吗?我应该升级libcurl,还是继续使用默认的版本?
== 在收到回复后添加了更多细节 ==
据我所知,我的Python是默认安装的(我没有从python.org自己下载)。
Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39)
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
这是我的curl版本。看起来有点误导,因为我用的是Intel的Macbook,而不是PPC。
curl 7.16.3 (powerpc-apple-darwin9.0) libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Protocols: tftp ftp telnet dict ldap http file https ftps
Features: GSS-Negotiate IPv6 Largefile NTLM SSL libz
我会选择与我现有的Python解释器兼容的pycurl。
我确实有ports:
sudo port -u install py26-pycurl
Error: Port py26-pycurl not found
2 个回答
我在Sourceforge上找到了pycurl。看起来他们有各种可安装的版本,可以和任何“随Mac OS X一起提供”的配置相匹配。我记得网址是 http://pycurl.sourceforge.net,但别太相信我说的这个。
BZT
如果你在使用 python.org 的 Python 2.6,这个版本是用 10.4 SDK 构建的,所以它可以在多个版本的 OS X 上运行。在这种情况下,pycurl 的构建可能会尝试链接到 10.4 版本的 libcurl,而这个版本看起来是 7.13.1。你提到的那个讨论串是在讲使用 10.5 版本的苹果自带的 Python 2.5,这个版本是用 10.5 的库构建的,使用这个版本时,pycurl 7.16.2.1 确实能够正确构建和安装。
你可以尝试手动安装 pycurl;在它的 setup.py 文件中有一个文档说明的 --curl-config 参数,可以让你指定要使用的 curl-config 的路径。不幸的是,这个方法似乎不适用于 /usr/bin/curl-config,因为正确的包含文件目录没有被添加。除了修改 setup.py 文件,比较好的方法是安装一个更新的 libcurl,并使用最新的 pycurl。最简单的方法是使用 MacPorts。更简单的是直接从 MacPorts 安装 pycurl 和 python2.6。如果你还没有使用 MacPorts,可以下载并安装基础文件。然后:
sudo port selfupdate
sudo port -u install py26-curl #edited
MacPorts 的 python2.6 会在 /opt/local/bin/python2.6
这个路径下。
如果你更想使用自己安装的 python2.6,可以安装 curl 包:
sudo port selfupdate
sudo port -u install curl
然后手动安装 pycurl,可以使用类似下面的命令:
curl http://pycurl.sourceforge.net/download/pycurl-7.19.0.tar.gz | tar xz
cd pycurl-7.19.0
python2.6 setup.py install --curl-config=/opt/local/bin/curl-config