Я пытаюсь установить 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
Любая идея, почему это происходит и как обойти это
Ответы:
В Debian мне понадобились следующие пакеты, чтобы это исправить
источник
libssl-dev
пакет в дополнение к твоему. Странно, какpip
отделить от управления пакетами системы, но даже не дает подсказки о том, какой пакет это может быть, я пропускаю в очень распространенном дистрибутиве Linux.Аналогично с
yum
менеджером пакетовЕсли вы используете
dnf
, используйтеисточник
в моем случае это решило проблему:
как объяснено здесь
источник
В Alpine Linux вы должны сделать:
источник
apk add curl-dev
мне было достаточно вpython2.7-alpine
образе докера , спасибо!Я столкнулся с той же проблемой при попытке запустить Shinken 2.0.3 в Ubuntu. В конце концов я сделал полное удаление, а затем переустановил Shinken с
pip -v
. Как он очистился, он упомянул:Установил что с
apt-get
, и все брокеры загорелись как положено :-)источник
Это решило мою проблему на Ubuntu 14.04:
источник
На OpenSUSE:
источник
В моем случае я продолжал получать одно и то же сообщение об ошибке. Я использую Fedora. Я решил это, выполнив:
Это установило все, что мне было нужно для его работы.
источник
У меня была эта проблема на Mac, и она была связана с тем, что
openssl
пакет был более старой версией, чем он требовалpycurl
.pycurl
я могу использовать другие библиотеки ssl вместо openssl согласно моему пониманию этого. Проверьте, какую библиотеку ssl вы используете, и обновите ее, так как она, скорее всего, решит проблему.Я исправил это:
brew upgrade
pycurl-x.y.z.tar.gz
с http://pycurl.io/python setup.py --with-openssl install
как openssl - библиотека, которую я установил. Если у вас есть библиотека ssl, тоgnutls
илиnss
тогда придется использовать--with-gnutls
или--with-nss
соответственно. Вы сможете найти больше информации об установке в их репозитории github .источник
В дополнение к ответу Eldos мне также нужно было
gcc
в CentOS 7:источник
Имейте в виду, что если вы используете nodejs, то (на момент написания) существует зависимость от libssl 1.0. * - поэтому установка альтернативной библиотеки SSL нарушит вашу установку nodejs.
Альтернативным решением для установки другой библиотеки SSL является то, что размещено в этом ответе здесь: https://stackoverflow.com/a/59927568/13564342, чтобы вместо этого установить libcurl4-gnutls-dev
источник