“ ไม่สามารถเรียกใช้ curl-config: [Errno 2] ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว” เมื่อติดตั้ง pycurl


185

ฉันพยายามติดตั้ง 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

ความคิดใด ๆ ว่าทำไมสิ่งนี้ถึงเกิดขึ้นและวิธีการแก้ไข


คุณใช้ Ubuntu หรือเปล่า
Padraic Cunningham

ฉันใช้ OSX ด้วยการเชื่อมต่อ ssh ไปยังสถานี linux
user3688241

คุณพยายามติดตั้ง pycurl ที่ไหน?
Padraic Cunningham

คำตอบ:


463

ใน Debian ฉันต้องการแพ็คเกจต่อไปนี้เพื่อแก้ไข

sudo apt install libcurl4-openssl-dev libssl-dev

4
นั่นช่วยแก้ไขปัญหาของฉันใน Ubuntu 12.04 (x64) และ Python3.4 ที่ติดตั้ง
Ilia Shakitko

23
ขอบคุณฉันต้องการlibssl-devแพ็คเกจเพิ่มเติมจากคุณ แปลกอย่างที่pipdecouples จากการจัดการแพ็กเกจระบบ แต่ไม่ได้ให้คำแนะนำเกี่ยวกับแพคเกจที่มันอาจเป็นฉันขาดหายไปในการกระจายลินุกซ์ที่พบบ่อยมาก
Mitja

1
ฉันต้องการทั้ง libcurl4-openssl-dev และ libssl-dev บน Debian 9: sudo apt-get install libcurl4-openssl-dev libssl-dev
ดาวิดออยเลอ

12
ใช้งานได้กับ Ubuntu 18.04 LTS
John McGehee

3
@JohnMcGehee, อ๋อใช้ได้กับ Ubuntu 18.04.1 LTS บน WSL
หลานชาย

70

เช่นเดียวกันกับyumผู้จัดการแพ็คเกจ

yum install libcurl-devel

ถ้าคุณใช้dnfให้ใช้

dnf install libcurl-devel

ในกรณีของฉัน python-devel ก็หายไปเช่นกันดังนั้นต่อไปนี้แก้ไขปัญหาสำหรับฉัน: yum install libcurl-devel python-devel
sokhaty

19

ในกรณีของฉันนี้แก้ไขปัญหา:

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

ตามที่อธิบายไว้ที่นี่


ขอบคุณสำหรับแพ็คเกจ python-dev! ฉันมีข้อผิดพลาดนี้โดยไม่มีมัน: src / pycurl.h: 4: 20: ข้อผิดพลาดร้ายแรง: Python.h: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
Skullone

12

ในอัลไพน์ลินุกซ์คุณควรทำ:

apk add curl-dev python3-dev libressl-dev

apk add curl-devก็เพียงพอแล้วสำหรับฉันในpython2.7-alpineภาพนักเทียบท่าขอบคุณ!
ItayB

2

ฉันพบปัญหาเดียวกันในขณะที่พยายามทำให้ Shinken 2.0.3 สว่างขึ้นบน Ubuntu ในที่สุดผมได้ถอนการติดตั้งเต็มแล้วติดตั้งใหม่ Shinken pip -vกับ เมื่อทำความสะอาดแล้วก็กล่าวถึง:

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

ติดตั้งพร้อมกับapt-getและโบรกเกอร์ทุกแห่งทะยานขึ้นตามที่คาดไว้ :-)




0

ในกรณีของฉันฉันได้รับข้อความแสดงข้อผิดพลาดเดียวกัน ฉันใช้ fedora ฉันแก้ไขมันโดยทำ:

sudo dnf install pycurl

สิ่งนี้ติดตั้งไว้ทุกอย่างที่ฉันต้องการเพื่อให้ใช้งานได้


0

ฉันมีปัญหานี้ใน Mac และมันเกี่ยวข้องกับopensslแพคเกจซึ่งเป็นรุ่นเก่ากว่าที่กำหนดpycurlไว้ pycurlสามารถใช้ไลบรารี ssl อื่นแทน openssl ตามความเข้าใจของฉัน ตรวจสอบไลบรารี ssl ที่คุณใช้และอัปเดตเนื่องจากมีโอกาสมากที่จะแก้ไขปัญหา

ฉันแก้ไขสิ่งนี้โดย:

  • วิ่ง brew upgrade
  • ดาวน์โหลดล่าสุดpycurl-x.y.z.tar.gzจาก http://pycurl.io/
  • แตกแพ็กเกจด้านบนและเปลี่ยนไดเร็กทอรีเป็นมัน
  • ran python setup.py --with-openssl installas openssl เป็นห้องสมุดที่ฉันติดตั้ง หากคุณเป็นห้องสมุด SSL gnutlsหรืออย่างใดอย่างหนึ่งnssจะต้องใช้--with-gnutlsหรือ--with-nssตาม คุณจะสามารถที่จะหาข้อมูลเพิ่มเติมข้อมูลการติดตั้งในพื้นที่เก็บข้อมูล GitHub ของพวกเขา


0

โปรดทราบว่าหากคุณใช้ nodejs การพึ่งพา libssl 1.0. * - ดังนั้นการติดตั้งไลบรารี SSL ทางเลือกอื่นจะทำให้การติดตั้ง nodejs ของคุณเสียหาย

อีกทางเลือกหนึ่งในการติดตั้งไลบรารี SSL อื่นคือโพสต์ในคำตอบนี้ที่นี่: https://stackoverflow.com/a/59927568/13564342เพื่อติดตั้ง libcurl4-gnutls-dev แทน

sudo apt install libcurl4-gnutls-dev
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.