การรับ“ ไม่พบฟังก์ชัน xmlCheckVersion ในไลบรารี libxml2 ติดตั้ง libxml2 แล้วหรือยัง” เมื่อติดตั้ง lxml ผ่าน pip


105

ฉันได้รับข้อผิดพลาดCould not find function xmlCheckVersion in library libxml2. Is libxml2 installed?ขณะพยายามติดตั้ง lxml ผ่าน pip

  c:\users\f\appdata\local\temp\xmlXPathInitqjzysz.c(1) : fatal error C1083: Cannot open include file: 'libxml/xpath.h': No such file or directory
  *********************************************************************************
  Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
  *********************************************************************************
  error: command 'C:\\Users\\f\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2

ฉันไม่พบแพ็คเกจ dev libxml2 ใด ๆ ที่จะติดตั้งผ่าน pip

ใช้ Python 2.7 และ Python 3.x บน x86 ใน Virtualenv ภายใต้ Windows 10

คำตอบ:


160

ฉันมีปัญหานี้และตระหนักว่าในขณะที่ฉันติดตั้ง libxml2 ฉันไม่มีไลบรารีการพัฒนาที่จำเป็นสำหรับแพ็คเกจ python การติดตั้งช่วยแก้ปัญหาได้:

sudo apt-get install libxml2-dev libxslt1-dev
sudo pip install lxml

26
โปรดอ่านเนื้อหา OPs เขากำลังทำสิ่งนี้บนเครื่อง Windows!
Metahuman

2
วิธีแก้ปัญหาสำหรับ linux เมื่อใช้ pip
Goranek

3
Fedora 23: dnf install libxml2-develและdnf install libxslt-devel
SergO

@Metahuman การติดตั้งแพ็คเกจเดียวกันกับตัวติดตั้ง Cygwin ช่วยแก้ปัญหาให้ฉันใน Windows 10
แท็ก

2
Centos 7 : sudo yum install libxml2-devel libxslt-devel(จำเป็นสำหรับโมดูล python-docx)
Marc Maxmeister

117

ติดตั้ง lxml จากhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#lxmlสำหรับเวอร์ชัน python ของคุณ เป็น WHL ที่คอมไพล์ล่วงหน้าพร้อมโมดูล / การอ้างอิงที่จำเป็น

รายชื่อเว็บไซต์หลายแพคเกจเมื่อเช่นใช้ Win32 หลาม 3.9 lxml‑4.5.2‑cp39‑cp39‑win32.whlใช้

ดาวน์โหลดไฟล์จากนั้นติดตั้งด้วย:

pip install C:\path\to\downloaded\file\lxml‑4.5.2‑cp39‑cp39‑win32.whl

4
@ user151496 - ยำติดตั้ง libxml2-devel libxslt-devel ทำเพื่อฉัน stackoverflow.com/questions/26884514/…
เทรน

6
คำตอบที่ดีที่สุดสำหรับ Windows จนถึงตอนนี้
โอเนลซานเชสดาซิลวา

2
คุณยังสามารถติดตั้งด้วยคำสั่งทั่วไปเพิ่มเติมนี้: pip install --use-wheel --find-links = C: \ path \ to \ folder \ with \ wheel lxml
rleelr

1
ลิงก์นั้นช่วยชีวิตฉันได้หลายครั้ง :-) เพราะมีล้อมากมายอยู่ที่นั่น
m3nda

2
ความช่วยเหลือที่ดี สิ่งเล็ก ๆ อีกอย่างที่ฉันต้องทำ: มันล้มเหลวในการติดตั้งบน env เสมือนของฉัน (ไม่รองรับวงล้อ) ในที่สุดฉันก็ติดตั้งบน python ปกติของฉัน (c: \ program files x86 ... ) และคัดลอกpython27\lib\site-packages\lxml*โฟลเดอร์ไปยัง virtual env
ปฏิรูป

36

ลองใช้:
easy_install lxml
นั่นใช้ได้กับฉัน win10, python 2.7


5
มันแสดงข้อผิดพลาดเดียวกันเมื่อใช้คำสั่งติดตั้งง่ายสำหรับ lxml
Piyush

1
เคยทำงานให้ฉัน แต่ตอนนี้มีเวอร์ชัน lxml ใหม่ซึ่งใช้งานไม่ได้อีกต่อไป
SaeX

23

ใน MacOS X El Capitan ฉันต้องเรียกใช้คำสั่งทั้งสองนี้เพื่อแก้ไขข้อผิดพลาดนี้:

xcode-select --install
pip install lxml

ซึ่งลงเอยด้วยการติดตั้ง lxml-3.5.0

เมื่อคุณเรียกใช้คำสั่ง xcode-select คุณอาจต้องลงนาม EULA (ดังนั้นมี X-Term ที่มีประโยชน์สำหรับ UI หากคุณทำสิ่งนี้บนเครื่องที่ไม่มีหัว)


2
ใช่นั่นเป็นเคล็ดลับสำหรับฉันใน OS X El Capitan ในความเป็นจริงถ้าคุณเลื่อนหน้าจอขึ้นเพื่อดูสาเหตุที่แท้จริงของข้อผิดพลาดจะมีบรรทัดที่ระบุว่า "อาจลอง: xcode-select
--install

สิ่งนี้แก้ไขได้และมีบรรทัดที่แนะนำสิ่งนี้ตามความเห็นด้านบน!
jfive

1
มีใครรู้สึกเหมือนเคยวิ่งxcode-select --installมาก่อนบ้างไหม? มีการไตร่ตรองเกี่ยวกับสิ่งนี้เป็นครั้งแรกหรือครั้งที่สองหรือไม่? ตามบันทึกไว้แม้ว่าฉันไม่จำเป็นต้องติดตั้งlxmlทั่วโลกเพื่อให้มันทำงานในสภาพแวดล้อมเสมือนจริงอย่างน้อยก็มี
lol

22

เผื่อว่าใครมีปัญหาเดียวกันนี้

Centos ลอง:

yum install python-lxml

Ubuntu

sudo apt-get install -y python-lxml

ทำงานให้ฉัน



1

ฉันลองติดตั้ง lib ที่ขึ้นอยู่lxmlและไม่มีอะไรทำงาน ฉันเห็นข้อความเมื่อสร้างเริ่มต้น: "อาคารโดยไม่ต้อง Cython" ดังนั้นหลังจากที่ติดตั้งcythonด้วยapt-get install cython, lxmlการติดตั้ง


1

ไม่แปลกสำหรับฉันที่ไม่มีวิธีแก้ปัญหาใด ๆ ข้างต้นเกิดขึ้น แต่ฉันเห็นว่าการติดตั้ง igd ลบเวอร์ชันใหม่และติดตั้งเวอร์ชันเก่าได้อย่างไรสำหรับวิธีแก้ปัญหาที่ฉันดาวน์โหลดไฟล์เก็บถาวรนี้: https://pypi.org/project/ igd / # ไฟล์

และเปลี่ยนเวอร์ชันที่แนะนำของเวอร์ชันใหม่: 'lxml == 4.3.0' ใน setup.py มันใช้งานได้!


0

ฉันได้รับข้อผิดพลาดเดียวกันสำหรับ python 32 บิต หลังจากติดตั้ง 64 บิตปัญหาได้รับการแก้ไขแล้ว

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