在 Windows 上安装 pycurl 时遇到问题

Ste*_*ley 12 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"
Run Code Online (Sandbox Code Playgroud)

但收到以下错误。

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):
Run Code Online (Sandbox Code Playgroud)

我找不到它要找的这个 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>
Run Code Online (Sandbox Code Playgroud)

Yua*_* JI 9

解决该问题的另一个简单方法是使用Christoph GohlkeWindows Python 扩展包集合。

脚步

  1. 访问上面的链接并使用Ctrl+F和搜索pycurl,或 使用此链接直接转到pycurl二进制文件
  2. 下载相关的 PycURL 版本。请记住,文件名中的 PycURL 版本必须与文件中的版本匹配requirements.txt(如果您使用的是文件),并且cpXXX需要与您的 Python 版本匹配(感谢 @d6stringer)
  3. 将文件复制到您的工作目录,然后pip install将该文件复制到例如pip install .\pycurl-7.43.0.5-cp39-cp39-win_amd64.whl(感谢@jlr)
  4. 重新运行pip install -r requirements.txt或您正在运行的任何命令

  • 这对我来说是最简单的,Windows 上的每个人都应该尝试一下。示例:`pip install .\pycurl-7.43.0.5-cp39-cp39-win_amd64.whl`。然后就完成了。 (2认同)

Mah*_*hat 7

令人沮丧的是,我花了多少时间在互联网上寻找解决此问题的方法,最后在 pycurl 官方网站上找到了所有答案

在我的 arch linux 系统中,我安装 pycurl 没有问题,但是在尝试使用 pip 在 windows 上安装 pycurl 时发现所有这些麻烦,给出错误:

“Please specify --curl-dir=/path/to/built/libcurl” error
Run Code Online (Sandbox Code Playgroud)

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

.

窗户解决方案:

1- 最简单的方法是下载现成的官方包、zip、exe或msi,正如这里提到的,官方下载从这里,确保选择与您安装的python版本相同的链接

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

2- 艰难的方式:从源代码构建,正如从他们的网站引用的那样,这样做不是一个好主意,但仍然有可能,

从源代码构建 PycURL 并不适合胆小的人,因为存在大量可能的依赖项,并且这些依赖项中的每一个都有自己的目录结构、配置样式、参数和怪癖。此外,不同的依赖项对 MSVCRT 的使用有不同的设置,并且应用程序的所有部分都必须就单个设置达成一致。

如果您继续阅读此处,您将找到如何从源代码构建的详细说明

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


Ark*_*ady -1

尝试下载源代码并自己构建它:结果你将必须获得如下目录:

  • libcurl-vc12-x86-release-dll-ipv6-sspi-winssl
    • 垃圾桶
      • 卷曲程序
      • libcurl.dll
    • 包括
      • *。H
      • 库卷库

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

python setup.py install --curl-dir="D:\..\libcurl-vc12-x86-release-dll-ipv6-sspi-winssl
Run Code Online (Sandbox Code Playgroud)

并且一定会建造成功。