3

我在 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,还是坚持使用出厂默认库?

==回复后添加了更多细节==

AFAIK 我拥有的 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

这是我的卷曲版本。看起来具有误导性,因为我使用的是英特尔 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
4

2 回答 2

7

如果您使用的是 python.org Python 2.6,它是使用 10.4 SDK 构建的,以便能够在多个版本的 OS X 上运行。在这种情况下,pycurl 构建可能会尝试链接 10.4 版本的 libcurl ,这似乎是 7.13.1。您链接到的线程正在谈论使用 Apple 提供的 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
于 2010-02-17T08:57:44.687 回答
0

I got my pycurl from Sourceforge. Seems they'd have installable builds backwards and forwards that would match any "shipped with" Mac OS X configuration there is. I believe the URL is http://pycurl.sourceforge.net but don't quote me on that.

BZT

于 2010-02-19T19:46:43.163 回答