在Windows上安装pycurl时遇到问题

时间:2015-02-02 21:51:42

标签: python windows pycurl

我在Windows计算机上安装pycurl时遇到了问题。 起初我尝试了pip,但遇到了“请指定--curl -dir = / path / to / built / libcurl”错误,并且在再次运行之前尝试安装curl。

我从http://curl.haxx.se/download.html下载了curl并将其解压缩到自己的文件夹中。

我尝试了以下内容:

D:\Downloads\pycurl-7.19.5.1\pycurl-7.19.5.1>python setup.py install --curl-dir="D:\Downloads\curl-7.40.0\curl-7.40.0"

但收到以下错误。

Using curl directory: D:\Downloads\curl-7.40.0\curl-7.40.0
libcurl.lib does not exist at D:\Downloads\curl-7.40.0\curl-7.40.0\lib\libcurl.lib.
Curl directory must point to compiled libcurl (bin/include/lib subdirectories):

我无法找到它正在寻找的libcurl.lib文件。

任何帮助都将不胜感激。

更新:

从同一网站curl-7.40.0-win64重新下载了一个新库,其中包含一个libcurl.lib文件。

D:\Downloads\pycurl-7.19.5.1\pycurl-7.19.5.1>python setup.py install --curl-dir=
"D:\Downloads\curl-7.40.0-win64\curl-7.40.0-win64\"
Curl directory does not exist: D:\Downloads\curl-7.40.0-win64\curl-7.40.0-win64"


D:\Downloads\pycurl-7.19.5.1\pycurl-7.19.5.1>python setup.py install --curl-dir=
"D:\Downloads\curl-7.40.0-win64\curl-7.40.0-win64\lib"
Using curl directory: D:\Downloads\curl-7.40.0-win64\curl-7.40.0-win64\lib
libcurl.lib does not exist at D:\Downloads\curl-7.40.0-win64\curl-7.40.0-win64\l
ib\lib\libcurl.lib.
Curl directory must point to compiled libcurl (bin/include/lib subdirectories):
D:\Downloads\curl-7.40.0-win64\curl-7.40.0-win64\lib

D:\Downloads\pycurl-7.19.5.1\pycurl-7.19.5.1>

3 个答案:

答案 0 :(得分:0)

解决问题的另一种简单方法是使用Christoph GohlkePython Extension Package for Windows集合。

您可以使用Ctrl+F并搜索pycurl

或点击here

答案 1 :(得分:0)

我花了多少时间在互联网上寻找解决此问题的方法,并最终在官方pycurl website

中找到了所有答案,这令人沮丧。

在我的Arch Linux系统中,我没有问题安装pycurl,但是在尝试使用pip在Windows上安装pycurl时发现了所有这些麻烦,

“Please specify --curl-dir=/path/to/built/libcurl” error

,并尝试使用与“ op”问题相同的步骤来修复此错误,并获取确切的错误。

Windows解决方案:

1-简单的方法是下载现成的官方软件包,zip,exe或msi(如here所述,从here进行官方下载),请确保选择相同的链接您安装的python版本

例如:pycurl-7.43.0.2.win-amd64-py3.6.exe是Windows 64位上pycurl 7.43.0.2的安装程序,安装了python 3.6

2-艰难的方式:Building From Source,正如他们网站上引述的那样,虽然这样做不是一个好主意,但仍然可行,

  

从源代码构建PycURL并不是出于胆小,因为有许多可能的依赖项,并且每个依赖项都有自己的目录结构,配置样式,参数和怪癖。另外,对于MSVCRT的使用,不同的依赖项具有不同的设置,并且应用程序的所有部分都必须在一个设置上达成共识。

如果您继续阅读here,将会找到有关如何从源代码进行构建的详细说明

最后:我建议使用现成的软件包,我认为它应该可以由pip自动安装,并避免所有麻烦

答案 2 :(得分:-1)

尝试下载源代码并自行构建:因此您必须获得以下目录:

  • 的libcurl-VC12 86释放-DLL-IPv6的SSPI-winssl
      • curl.exe
      • libcurl.dll
    • 包括
      • *的.h
    • LIB
      • libcurl.lib

(或者您可以搜索具有相同目录结构的预构建二进制文件/标头) 然后你必须指向你的setup.py脚本这个目录,例如:

python setup.py install --curl-dir="D:\..\libcurl-vc12-x86-release-dll-ipv6-sspi-winssl

它将成功构建。