在 Windows 上安装 pycurl 时遇到问题

问题描述 投票:0回答:5

我在 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>
python windows pycurl
5个回答
9
投票

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

步骤

  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
    或您正在运行的任何命令

8
投票

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

中找到了我所有的答案

在我的 arch Linux 系统中,我安装

pycurl
没有问题,但在尝试使用
pycurl
在 Windows 上安装
pip
时发现所有这些麻烦,并给出错误:

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

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

.

Windows 解决方案:

[编辑] 不幸的是,下面的选项 1 不再起作用,二进制文件的链接已关闭,并且引用已从

pycurl
文档中删除。

1-最简单的方法是下载现成的官方包,zip,exe或msi,如这里所述,官方下载来自这里。确保选择与您安装的 python 版本相同的链接。

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

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

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

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

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


0
投票

你可以在

网站
找到pycurl包,执行命令:

pip install xx\xx\pycurl-xx.whl

安装

pycurl


0
投票

尝试这个命令

pip install pycurl==7.43.0.5

-1
投票

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

  • libcurl-vc12-x86-release-dll-ipv6-sspi-winssl
    • 垃圾箱
      • 卷曲.exe
      • libcurl.dll
    • 包括
      • *.h
    • lib
      • libcurl.lib

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

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

就可以构建成功了。

© www.soinside.com 2019 - 2024. All rights reserved.