"Не удалось запустить curl-config: [Errno 2] Нет такого файла или каталога" при установке pycurl

Я пытаюсь установить pycurl через:

sudo pip install pycurl

Он скачал отлично, но когда он запускает 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

Любая идея, почему это происходит и как обойти это

Ответ 1

В Debian мне понадобились следующие пакеты, чтобы это исправить

sudo apt install libcurl4-openssl-dev libssl-dev

Ответ 2

Аналогично yum менеджер пакетов

yum install libcurl-devel

Если вы используете dnf, используйте

dnf install libcurl-devel

Ответ 3

в моем случае это фиксировало проблему:

sudo apt-get install libssl-dev libcurl4-openssl-dev python-dev

как описано здесь

Ответ 4

В Alpine Linux вы должны сделать:

apk add curl-dev python3-dev libressl-dev

Ответ 5

Я столкнулся с той же проблемой, пытаясь запустить Shinken 2.0.3 для запуска Ubuntu. В конце концов я сделал полную деинсталляцию, а затем переустановил Shinken с помощью pip -v. Как он убрал, он упомянул:

Warning: missing python-pycurl lib, you MUST install it before launch the shinken daemons

Установлено, что с apt-get, и все брокеры загорелись, как ожидалось: -)

Ответ 6

Это решило мою проблему на Ubuntu 14.04:

apt-get install libcurl4-gnutls-dev

Ответ 7

В OpenSUSE:

zypper in libcurl-devel 

Ответ 8

В моем случае я продолжал получать одно и то же сообщение об ошибке. Я использую Fedora. Я решил это, выполнив:

sudo dnf install pycurl

Это установило все, что мне было нужно для его работы.

Ответ 9

У меня была эта проблема на Mac, и она была связана с тем, что пакет openssl был более старой версией того, что требовал pycurl. pycurl моему пониманию, pycurl может использовать другие библиотеки ssl, а не openssl. Проверьте, какую библиотеку ssl вы используете, и обновите, так как это, скорее всего, решит проблему.

Я исправил это:

  • запуск brew upgrade
  • загрузил последнюю pycurl-xyztar.gz с http://pycurl.io/
  • распаковать пакет выше и изменить каталог в нем
  • запустил python setup.py --with-openssl install как openssl - это библиотека, которую я установил. Если ваша библиотека ssl либо gnutls либо nss то вам придется использовать соответственно --with-gnutls или --with-nss. Вы сможете найти больше информации об установке в их репозитории github.