Mendapatkan “Tidak dapat menemukan fungsi xmlCheckVersion di perpustakaan libxml2. Apakah libxml2 sudah terpasang? ” saat memasang lxml melalui pip


102

Saya mendapatkan pesan kesalahan Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?saat mencoba menginstal lxml melalui 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

Saya tidak menemukan paket dev libxml2 untuk diinstal melalui pip.

Menggunakan Python 2.7 dan Python 3.x pada x86 di virtualenv di bawah Windows 10.

Jawaban:


157

Saya mengalami masalah ini dan menyadari bahwa meskipun saya menginstal libxml2, saya tidak memiliki perpustakaan pengembangan yang diperlukan yang diperlukan oleh paket python. Menginstalnya memecahkan masalah:

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

23
Harap baca konten OP. Dia melakukan ini di mesin Windows!
Metahuman

2
Solusi yang tepat untuk linux saat menggunakan pip
Goranek

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

@Metahuman Menginstal paket yang sama dengan penginstal Cygwin memecahkan masalah saya di Windows 10.
Tag

2
Centos 7 : sudo yum install libxml2-devel libxslt-devel(diperlukan untuk modul python-docx)
Marc Maxmeister

108

Instal lxml dari http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml untuk versi python Anda. Ini adalah WHL yang telah dikompilasi dengan modul / dependensi yang diperlukan.

Situs ini mencantumkan beberapa paket, misalnya menggunakan Win32 Python 3.9, gunakan lxml‑4.5.2‑cp39‑cp39‑win32.whl.

Unduh file, lalu instal dengan:

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

4
@ user151496 - yum install libxml2-devel libxslt-devel melakukan ini untuk saya. stackoverflow.com/questions/26884514/…
Trent

6
Jawaban terbaik untuk Windows sejauh ini.
Leonel Sanches da Silva

2
Anda juga dapat menginstal dengan perintah yang lebih umum ini: pip install --use-wheel --find-links = C: \ path \ to \ folder \ with \ wheel lxml
rleelr

1
Tautan itu menyelamatkan saya berkali-kali :-) karena ada banyak roda di sana.
m3nda

1
Sangat membantu. Hal kecil lain yang perlu saya lakukan: Gagal menginstal di env virtual saya (roda tidak didukung). Akhirnya saya menginstalnya di python biasa saya (c: \ program files x86 ...) dan menyalin python27\lib\site-packages\lxml*folder ke virtual env.
reformy

35

Coba gunakan:
easy_install lxml
Itu berhasil untuk saya, win10, python 2.7.


5
itu melempar kesalahan yang sama saat menggunakan perintah instalasi mudah untuk lxml
Piyush

1
Dulu bekerja untuk saya, tetapi sekarang dengan versi lxml baru ini tidak lagi berfungsi.
SaeX

23

Di Mac OS X El Capitan saya harus menjalankan dua perintah ini untuk memperbaiki kesalahan ini:

xcode-select --install
pip install lxml

Yang akhirnya menginstal lxml-3.5.0

Saat Anda menjalankan perintah xcode-select, Anda mungkin harus menandatangani EULA (jadi siapkan X-Term untuk UI jika Anda melakukan ini pada mesin tanpa kepala).


2
Yup, itu melakukan trik untuk saya di OS X El Capitan. Faktanya, jika Anda menggulir ke atas layar untuk melihat akar penyebab kesalahan, ada baris di sana yang mengatakan "Mungkin coba: xcode-select --install"
Devy

Ini memperbaikinya, dan ada baris yang menyarankan ini seperti yang dikomentari di atas!
jfive

1
Namun, apakah ada orang lain yang merasa mereka sudah berlari xcode-select --installsebelumnya? Apakah ada introspeksi tentang apa yang dilakukannya untuk pertama atau kedua kalinya? Sebagai catatan, meskipun saya tidak harus menginstal lxmlsecara global agar dapat berfungsi di lingkungan virtual, setidaknya ada itu.
lol

21

Jika ada orang lain yang memiliki masalah yang sama dengan ini

Centos, coba:

yum install python-lxml

Ubuntu

sudo apt-get install -y python-lxml

bekerja untuk saya.



1

Saya mencoba menginstal lib yang tergantung lxmldan tidak ada yang berhasil. Saya melihat pesan ketika build dimulai: "Building without Cython", jadi setelah install cythonwith apt-get install cython, lxmlsudah diinstal.


1

Tidak aneh bagi saya bahwa tidak ada solusi di atas yang muncul, tetapi saya melihat bagaimana instalasi igd menghapus versi baru dan menginstal yang lama, untuk solusinya saya mengunduh arsip ini: https://pypi.org/project/ igd / # file

dan mengubah versi yang disarankan dari versi baru: 'lxml == 4.3.0' di setup.py Berhasil!


0

Saya mendapat kesalahan yang sama untuk python 32 bit. Setelah menginstal 64bit, masalah telah diperbaiki.

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.