"安装pycurl时无法运行curl-config:[Errno 2]没有这样的文件或目录"

use*_*241 163 python install pycurl

我正在尝试通过以下方式安装pycurl:

sudo pip install pycurl
Run Code Online (Sandbox Code Playgroud)

它下载得很好,但是当它运行setup.py时,我得到以下回溯:

Downloading/unpacking pycurl
  Running setup.py egg_info for package pycurl
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/tmp/pip-build-root/pycurl/setup.py", line 563, in <module>
        ext = get_extension()
      File "/tmp/pip-build-root/pycurl/setup.py", line 368, in get_extension
        ext_config = ExtensionConfiguration()
      File "/tmp/pip-build-root/pycurl/setup.py", line 65, in __init__
        self.configure()
      File "/tmp/pip-build-root/pycurl/setup.py", line 100, in configure_unix
        raise ConfigurationError(msg)
    __main__.ConfigurationError: Could not run curl-config: [Errno 2] No such file or directory
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/tmp/pip-build-root/pycurl/setup.py", line 563, in <module>

    ext = get_extension()

  File "/tmp/pip-build-root/pycurl/setup.py", line 368, in get_extension

    ext_config = ExtensionConfiguration()

  File "/tmp/pip-build-root/pycurl/setup.py", line 65, in __init__

    self.configure()

  File "/tmp/pip-build-root/pycurl/setup.py", line 100, in configure_unix

    raise ConfigurationError(msg)

__main__.ConfigurationError: Could not run curl-config: [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样,以及如何解决这个问题

Mic*_*ice 400

在Debian上我需要以下软件包来解决这个问题

sudo apt install libcurl4-openssl-dev libssl-dev
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,除了你的,我还需要`libssl-dev`包.奇怪的是`pip`如何从系统包管理中分离出来,但是甚至没有提供关于它可能是什么包的提示我在一个非常常见的Linux发行版中缺失. (21认同)
  • 适用于Ubuntu 18.04 LTS. (9认同)
  • 这解决了我在安装Ubuntu 12.04(x64)和Python3.4上的问题 (3认同)
  • @JohnMcGehee,是的,也可以在WSL的Ubuntu 18.04.1 LTS上工作。 (2认同)

eld*_*dos 63

yum包管理器类似

yum install libcurl-devel
Run Code Online (Sandbox Code Playgroud)

如果使用dnf,请使用

dnf install libcurl-devel
Run Code Online (Sandbox Code Playgroud)


mui*_*ota 17

在我的情况下,这解决了问题:

sudo apt-get install libssl-dev libcurl4-openssl-dev python-dev
Run Code Online (Sandbox Code Playgroud)

为解释在这里


Ale*_*lex 8

在Alpine linux中,您应该执行以下操作:

apk add curl-dev python3-dev libressl-dev
Run Code Online (Sandbox Code Playgroud)

  • 在 docker `python2.7-alpine` 镜像中,`apk add curl-dev` 对我来说已经足够了,谢谢! (2认同)

Sha*_*eel 6

@Michael Rice 提供的相同解决方案也适用于 Ubuntu 18.04

Ubuntu 18.04 LTS

sudo apt install libcurl4-openssl-dev libssl-dev
Run Code Online (Sandbox Code Playgroud)

艾尔认为迈克尔的答案的评论中提到了它,但认为突出显示易于使用。