“Tidak dapat menjalankan curl-config: [Errno 2] Tidak ada file atau direktori seperti itu” ketika menginstal pycurl


185

Saya mencoba menginstal pycurl melalui:

sudo pip install pycurl

Itu diunduh dengan baik, tetapi ketika ketika menjalankan setup.py saya mendapatkan traceback berikut:

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

Tahu mengapa hal ini terjadi dan bagaimana cara mengatasinya


apakah Anda menggunakan Ubuntu?
Padraic Cunningham

Saya menggunakan OSX dengan koneksi ssh ke terminal linux
user3688241

di mana Anda mencoba menginstal pycurl?
Padraic Cunningham

Jawaban:


463

Pada Debian saya membutuhkan paket-paket berikut untuk memperbaikinya

sudo apt install libcurl4-openssl-dev libssl-dev

4
Itu memperbaiki masalah saya di Ubuntu 12.04 (x64) dan Python3.4 diinstal
Ilia Shakitko

23
Terima kasih, saya membutuhkan libssl-devpaket selain milik Anda. Aneh bagaimana pipdipisahkan dari manajemen paket sistem tetapi bahkan tidak memberikan petunjuk tentang paket mana yang bisa saya lewatkan pada distribusi linux yang sangat umum.
Mitja

1
Saya membutuhkan libcurl4-openssl-dev dan libssl-dev di Debian 9: sudo apt-get install libcurl4-openssl-dev libssl-dev
david euler

12
Bekerja di Ubuntu 18,04 LTS.
John McGehee

3
@JohnMcGehee, ya, bekerja di Ubuntu 18.04.1 LTS di WSL juga.
nephewtom

70

Begitu pula dengan yumpengelola paket

yum install libcurl-devel

Jika Anda menggunakan dnf, gunakan

dnf install libcurl-devel

Dalam kasus saya python-devel juga hilang, jadi yang berikut ini memecahkan masalah bagi saya: yum instal libcurl-devel python-devel
sokhaty

19

dalam kasus saya ini memperbaiki masalah:

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

seperti yang dijelaskan di sini


terima kasih untuk paket python-dev! saya memiliki kesalahan ini tanpa itu: src / pycurl.h: 4: 20: kesalahan fatal: Python.h: Tidak ada file atau direktori seperti itu
Skullone

12

Di Alpine linux yang harus Anda lakukan:

apk add curl-dev python3-dev libressl-dev

apk add curl-devsudah cukup bagi saya dalam python2.7-alpinegambar buruh pelabuhan , terima kasih!
ItayB

2

Saya mengalami masalah yang sama ketika mencoba untuk mendapatkan Shinken 2.0.3 untuk dijalankan di Ubuntu. Akhirnya saya melakukan uninstall penuh kemudian menginstal ulang Shinken with pip -v. Saat dibersihkan, disebutkan:

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

Dipasang dengan itu apt-get, dan semua broker bekerja seperti yang diharapkan :-)


2

Itu memecahkan masalah saya di Ubuntu 14.04:

apt-get install libcurl4-gnutls-dev



0

Dalam kasus saya, saya terus mendapatkan pesan kesalahan yang sama. Saya menggunakan fedora. Saya menyelesaikannya dengan melakukan:

sudo dnf install pycurl

Ini menginstal semua yang saya butuhkan agar bisa berfungsi.


0

Saya memiliki masalah ini pada Mac dan itu terkait dengan opensslpaket yang merupakan versi yang lebih lama dari apa yang diperlukan oleh pycurl. pycurldapat menggunakan perpustakaan ssl lain daripada openssl sesuai pemahaman saya tentang itu. Verifikasi perpustakaan ssl mana yang Anda gunakan dan perbarui karena sangat mungkin untuk memperbaiki masalah.

Saya memperbaikinya dengan:

  • berlari brew upgrade
  • mengunduh yang terbaru pycurl-x.y.z.tar.gzdari http://pycurl.io/
  • mengekstrak paket di atas dan mengubah direktori ke dalamnya
  • ran python setup.py --with-openssl installas openssl adalah perpustakaan yang telah saya instal. Jika Anda ssl library adalah salah satu gnutlsatau nsskemudian harus menggunakan --with-gnutlsatau --with-nsssesuai. Anda dapat menemukan lebih banyak info instalasi di repositori github mereka .

0

Selain jawaban Eldo saya juga diperlukan gccdalam CentOS 7:

yum install libcurl-devel gcc

0

Harap diperhatikan bahwa jika Anda menggunakan nodejs ada (pada saat penulisan) ketergantungan pada libssl 1.0. * - jadi menginstal pustaka SSL alternatif akan merusak instalasi nodejs Anda.

Solusi alternatif untuk menginstal pustaka SSL yang berbeda adalah yang diposkan dalam jawaban ini di sini: https://stackoverflow.com/a/59927568/13564342 untuk menginstal libcurl4-gnutls-dev

sudo apt install libcurl4-gnutls-dev
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.