Nhận được “Không thể tìm thấy hàm xmlCheckVersion trong thư viện libxml2. Đã cài đặt libxml2 chưa? ” khi cài đặt lxml thông qua pip


102

Tôi gặp lỗi Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?khi cố gắng cài đặt lxml thông qua 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

Tôi không tìm thấy bất kỳ gói dev libxml2 nào để cài đặt qua pip.

Sử dụng Python 2.7 và Python 3.x trên x86 trong virtualenv trong Windows 10.

Câu trả lời:


157

Tôi gặp sự cố này và nhận ra rằng trong khi tôi đã cài đặt libxml2, tôi không có các thư viện phát triển cần thiết theo yêu cầu của gói python. Cài đặt chúng đã giải quyết được vấn đề:

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

23
Vui lòng đọc qua nội dung OPs. Anh ấy đang làm điều này trên máy Windows!
Metahuman

2
Giải pháp chính xác cho linux khi sử dụng pip
Goranek

3
Fedora 23: dnf install libxml2-develdnf install libxslt-devel
SergO

@Metahuman Cài đặt các gói tương tự với trình cài đặt Cygwin giải quyết được vấn đề cho tôi trên Windows 10.
Gắn thẻ

2
Centos 7 : sudo yum install libxml2-devel libxslt-devel(bắt buộc đối với mô-đun python-docx)
Marc Maxmeister.

108

Cài đặt lxml từ http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml cho phiên bản python của bạn. Đó là một WHL được biên dịch trước với các mô-đun / phụ thuộc bắt buộc.

Trang web liệt kê một số gói, ví dụ: sử dụng Win32 Python 3.9, hãy sử dụng lxml‑4.5.2‑cp39‑cp39‑win32.whl.

Tải xuống tệp, sau đó cài đặt bằng:

pip install C:\path\to\downloaded\file\lxml4.5.2cp39cp39win32.whl

4
@ user151496 - yum install libxml2-devel libxslt-devel đã làm điều này cho tôi. stackoverflow.com/questions/26884514/…
Trent

6
Câu trả lời tốt nhất cho Windows cho đến nay.
Leonel Sanches da Silva

2
Bạn cũng có thể cài đặt với lệnh chung chung hơn này: pip cài đặt --Sử dụng bánh --find-link = C: \ path \ to \ thư mục \ với \ bánh lxml
rleelr

1
Liên kết đó đã cứu tôi rất nhiều lần :-) vì có rất nhiều bánh xe trong đó.
m3nda

1
Giúp đỡ nhiều. Một điều nhỏ khác mà tôi cần làm: Nó không thể cài đặt trên env ảo của tôi (không hỗ trợ bánh xe). Cuối cùng, tôi đã cài đặt nó trên python thông thường của mình (c: \ program files x86 ...) và sao chép các python27\lib\site-packages\lxml*thư mục vào env ảo.
cải cách

35

Hãy thử sử dụng:
easy_install lxml
Điều đó phù hợp với tôi, win10, python 2.7.


5
nó ném những lỗi tương tự khi sử dụng dễ dàng lệnh cài đặt cho lxml
Piyush

1
Được sử dụng để làm việc cho tôi, nhưng bây giờ với phiên bản lxml mới, điều này không còn hoạt động nữa.
SaeX

23

Trên Mac OS X El Capitan, tôi phải chạy hai lệnh sau để khắc phục lỗi này:

xcode-select --install
pip install lxml

Cuối cùng đã cài đặt lxml-3.5.0

Khi bạn chạy lệnh xcode-select, bạn có thể phải ký EULA (vì vậy hãy có X-Term có ích cho giao diện người dùng nếu bạn đang thực hiện việc này trên máy không đầu).


2
Đúng, đó là mẹo đối với tôi trong OS X El Capitan. Trong thực tế, nếu bạn cuộn lên màn hình để xem các nguyên nhân gốc rễ của lỗi, có một dòng có nói "Có lẽ thử: xcode-chọn -install"
Devy

Điều này đã sửa nó, và có một dòng gợi ý điều này như đã nhận xét ở trên!
jfive

1
Tuy nhiên, có ai khác cảm thấy như họ đã chạy xcode-select --installtrước đây không? Có bất kỳ xem xét nội tâm về những gì điều này xảy ra lần đầu tiên hoặc lần thứ hai? Như một lưu ý, mặc dù tôi không phải cài đặt lxmltoàn cầu để nó hoạt động trong môi trường ảo, vì vậy ít nhất là có điều đó.
lol

21

Trong trường hợp bất kỳ ai khác gặp vấn đề tương tự như điều này trên

Centos, hãy thử:

yum install python-lxml

Ubuntu

sudo apt-get install -y python-lxml

đã làm cho tôi.



1

Tôi đã thử cài đặt một lib phụ thuộc lxmlvà không có gì hoạt động. Tôi thấy thông báo khi bắt đầu xây dựng: "Xây dựng không có Cython", vì vậy sau khi cài đặt cythonvới apt-get install cython, lxmlđã được cài đặt.


1

Tôi không lạ khi không có giải pháp nào ở trên đưa ra, nhưng tôi đã thấy cách cài đặt igd gỡ bỏ phiên bản mới và cài đặt phiên bản cũ, đối với giải pháp tôi đã tải xuống kho lưu trữ này: https://pypi.org/project/ igd / # tệp

và thay đổi phiên bản được đề xuất của phiên bản mới: 'lxml == 4.3.0' trong setup.py Nó hoạt động!


0

Tôi gặp lỗi tương tự cho python 32 bit. Sau khi cài đặt 64bit, sự cố đã được khắc phục.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.