"Could not run curl-config: [Errno 2] No such file or directory" when installing pycurl
Question:
I’m trying to install pycurl via:
sudo pip install pycurl
It downloaded fine, but when when it runs setup.py I get the following traceback:
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
Any idea why this is happening and how to get around it
Answers:
On Debian I needed the following packages to fix this
sudo apt install libcurl4-openssl-dev libssl-dev
I encountered the same problem whilst trying to get Shinken 2.0.3 to fire up on Ubuntu. Eventually I did a full uninstall then reinstalled Shinken with pip -v
. As it cleaned up, it mentioned:
Warning: missing python-pycurl lib, you MUST install it before launch the shinken daemons
Installed that with apt-get
, and all the brokers fired up as expected 🙂
Similarly with yum
package manager
yum install libcurl-devel
If you use dnf
, use
dnf install libcurl-devel
On OpenSUSE:
zypper in libcurl-devel
That solved my problem on Ubuntu 14.04:
apt-get install libcurl4-gnutls-dev
in my case this fixed the problem:
sudo apt-get install libssl-dev libcurl4-openssl-dev python-dev
as explained here
In my case i kept getting the same error message. I use fedora.
I solved it by doing:
sudo dnf install pycurl
This installed eveything that I needed for it to work.
In Alpine linux you should do:
apk add curl-dev python3-dev libressl-dev
I had this issue on Mac and it was related to the openssl
package being an older version of what it was required by pycurl
. pycurl
can use other ssl libraries rather than openssl as per my understanding of it. Verify which ssl library you’re using and update as it is very likely to fix the issue.
I fixed this by:
- running
brew upgrade
- downloaded the latest
pycurl-x.y.z.tar.gz
from
http://pycurl.io/
- extracted the package above and change directory into it
- ran
python setup.py --with-openssl install
as openssl is the library I have installed. If you’re ssl library is either gnutls
or nss
then will have to use --with-gnutls
or --with-nss
accordingly. You’ll be able to find more installation info in their github repository.
In addition to the answer of eldos I also needed gcc
in CentOS 7:
yum install libcurl-devel gcc
Be advised that if you’re using nodejs there’s (at the time of writing) a dependency on libssl 1.0.* – so installing an alternative SSL library will break your nodejs installation.
An alternative solution to installing a different SSL library is that posted in this answer here: https://stackoverflow.com/a/59927568/13564342 to instead install libcurl4-gnutls-dev
sudo apt install libcurl4-gnutls-dev
Same solution provided by @Michael Rice works for Ubuntu 18.04 as well
Ubuntu 18.04 LTS
sudo apt install libcurl4-openssl-dev libssl-dev
Al thought it is mentioned in comments of Michael’s answer but thought highlight for easy of use.
If the following solution giving you an error while installing them,
sudo apt install libcurl4-openssl-dev libssl-dev
then try to update your Linux os first with:
sudo apt update
I’m trying to install pycurl via:
sudo pip install pycurl
It downloaded fine, but when when it runs setup.py I get the following traceback:
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
Any idea why this is happening and how to get around it
On Debian I needed the following packages to fix this
sudo apt install libcurl4-openssl-dev libssl-dev
I encountered the same problem whilst trying to get Shinken 2.0.3 to fire up on Ubuntu. Eventually I did a full uninstall then reinstalled Shinken with pip -v
. As it cleaned up, it mentioned:
Warning: missing python-pycurl lib, you MUST install it before launch the shinken daemons
Installed that with apt-get
, and all the brokers fired up as expected 🙂
Similarly with yum
package manager
yum install libcurl-devel
If you use dnf
, use
dnf install libcurl-devel
On OpenSUSE:
zypper in libcurl-devel
That solved my problem on Ubuntu 14.04:
apt-get install libcurl4-gnutls-dev
in my case this fixed the problem:
sudo apt-get install libssl-dev libcurl4-openssl-dev python-dev
as explained here
In my case i kept getting the same error message. I use fedora.
I solved it by doing:
sudo dnf install pycurl
This installed eveything that I needed for it to work.
In Alpine linux you should do:
apk add curl-dev python3-dev libressl-dev
I had this issue on Mac and it was related to the openssl
package being an older version of what it was required by pycurl
. pycurl
can use other ssl libraries rather than openssl as per my understanding of it. Verify which ssl library you’re using and update as it is very likely to fix the issue.
I fixed this by:
- running
brew upgrade
- downloaded the latest
pycurl-x.y.z.tar.gz
from
http://pycurl.io/ - extracted the package above and change directory into it
- ran
python setup.py --with-openssl install
as openssl is the library I have installed. If you’re ssl library is eithergnutls
ornss
then will have to use--with-gnutls
or--with-nss
accordingly. You’ll be able to find more installation info in their github repository.
In addition to the answer of eldos I also needed gcc
in CentOS 7:
yum install libcurl-devel gcc
Be advised that if you’re using nodejs there’s (at the time of writing) a dependency on libssl 1.0.* – so installing an alternative SSL library will break your nodejs installation.
An alternative solution to installing a different SSL library is that posted in this answer here: https://stackoverflow.com/a/59927568/13564342 to instead install libcurl4-gnutls-dev
sudo apt install libcurl4-gnutls-dev
Same solution provided by @Michael Rice works for Ubuntu 18.04 as well
Ubuntu 18.04 LTS
sudo apt install libcurl4-openssl-dev libssl-dev
Al thought it is mentioned in comments of Michael’s answer but thought highlight for easy of use.
If the following solution giving you an error while installing them,
sudo apt install libcurl4-openssl-dev libssl-dev
then try to update your Linux os first with:
sudo apt update