“Curl-config çalıştırılamadı: [Errno 2] Böyle bir dosya veya dizin yok” pycurl yüklenirken


185

Üzerinden pycurl yüklemeye çalışıyorum:

sudo pip install pycurl

İyi indirildi, ancak setup.py çalıştırıldığında aşağıdaki izlemeyi alıyorum:

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

Bunun neden olduğu ve etrafta nasıl dolaşılacağı hakkında bir fikir


Ubuntu mu kullanıyorsun?
Padraic Cunningham

Linux terminaline ssh bağlantısı olan OSX kullanıyorum
user3688241

pycurl'u nereye kurmaya çalışıyorsunuz?
Padraic Cunningham

Yanıtlar:


465

Debian'da bunu düzeltmek için aşağıdaki paketlere ihtiyacım vardı

sudo apt install libcurl4-openssl-dev libssl-dev

4
Bu, Ubuntu 12.04 (x64) ve Python3.4'teki sorunumu düzeltti
Ilia Shakitko

23
Teşekkürler, libssl-devseninkine ek olarak pakete ihtiyacım vardı . pipSistem paketi yönetiminden ayrılmaların garip olmasına rağmen, çok yaygın bir linux dağıtımında hangi paketin eksik olabileceğine dair ipuçları bile vermiyor.
Mitja

1
Debian 9'da hem libcurl4-openssl-dev hem de libssl-dev'e ihtiyacım var: sudo apt-get install libcurl4-openssl-dev libssl-dev
david euler

12
Ubuntu 18.04 LTS üzerinde çalışır.
John McGehee

3
@JohnMcGehee, evet, Ubuntu 18.04.1 WSL üzerinde LTS üzerinde de çalışıyor.
yeğen

70

yumPaket yöneticisi ile benzer şekilde

yum install libcurl-devel

Kullanıyorsanız dnf,

dnf install libcurl-devel

Benim durumumda python-devel de eksikti, bu yüzden aşağıdaki benim için sorunu çözdü: yum install libcurl-devel python-devel
sokhaty

19

benim durumumda bu sorunu çözdü:

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

burada açıklandığı gibi


python-dev paketi için teşekkürler! onsuz bu hatayı aldım: src / pycurl.h: 4: 20: ölümcül hata: Python.h: Böyle bir dosya veya dizin yok
Skullone

12

Alpine Linux'ta şunları yapmalısınız:

apk add curl-dev python3-dev libressl-dev

apk add curl-devdocker python2.7-alpinegörüntüsünde benim için yeterliydi , teşekkürler!
ItayB

2

Aynı sorunla karşılaşırken Shinken 2.0.3'ü Ubuntu'da ateşlemeye çalışırken de karşılaştım. Sonunda tam bir kaldırma yaptım ve sonra Shinken'i yeniden kurdum pip -v. Temizlendiğinden bahsetti:

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

Bunu ile apt-getyükledim ve tüm brokerler beklendiği gibi kovuldu :-)


2

Bu Ubuntu 14.04 benim sorunum çözüldü:

apt-get install libcurl4-gnutls-dev



0

Benim durumumda aynı hata mesajını almaya devam ettim. Fedora kullanıyorum. Yaparak çözdüm:

sudo dnf install pycurl

Bu, çalışması için ihtiyacım olan her şeyi yükledi.


0

Mac'te bu sorunu yaşadım ve opensslpaketin gerektirdiği şeyin eski bir sürümü olmasıyla ilgiliydi pycurl.pycurlbenim anlayış göre openssl yerine diğer ssl kütüphaneleri kullanabilirsiniz. Hangi ssl kütüphanesini kullandığınızı doğrulayın ve sorunu çözme olasılığı yüksek olduğundan güncelleyin.

Bunu şu şekilde çözdüm:

  • çalışan brew upgrade
  • En son indirilen pycurl-x.y.z.tar.gzgelen http://pycurl.io/
  • yukarıdaki paketi çıkardı ve dizini içine değiştir
  • python setup.py --with-openssl installopenssl yüklediğim kitaplık gibi koştu . Eğer ssl kütüphane ya ya gnutlsda nsssonra ya --with-gnutlsda --with-nssbuna göre kullanmak zorunda kalacaksınız . Github deposunda daha fazla kurulum bilgisi bulabilirsiniz .

0

Eldos'un cevabına ek olarak gccCentOS 7'de de ihtiyacım vardı :

yum install libcurl-devel gcc

0

Eğer nodejs kullanıyorsanız, (yazma sırasında) libssl 1.0. * 'A bağımlılık olduğunu unutmayın, böylece alternatif bir SSL kütüphanesi kurmak nodejs kurulumunuzu bozacaktır.

Farklı bir SSL kütüphanesi kurmak için alternatif bir çözüm, bu cevaba burada gönderilen: https://stackoverflow.com/a/59927568/13564342 yerine libcurl4-gnutls-dev yüklemek

sudo apt install libcurl4-gnutls-dev
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.