我在 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 或更高版本(不t 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
我有端口:
sudo port -u install py26-pycurl
Error: Port py26-pycurl not found
最佳答案
如果您使用的是 python.org Python 2.6,它是使用 10.4 SDK 构建的,以便能够在多个版本的 OS X 上运行。在这种情况下,pycurl 构建可能会尝试链接到 10.4 libcurl 的版本,似乎是 7.13.1。您链接到的线程正在谈论使用 10.5 Apple 提供的 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,download and install the base files .然后:
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
关于python - pycurl 安装 :( already have min. libcurl 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279014/