Python'da lxml modülünü kurma


89

bir python komut dosyası çalıştırırken bu hatayı aldım

  from lxml import etree
ImportError: No module named lxml

şimdi lxml'yi yüklemeyi denedim

sudo easy_install lmxl

ama bana şu hatayı veriyor

Building lxml version 2.3.beta1.
NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available.
ERROR: /bin/sh: xslt-config: not found

** make sure the development packages of libxml2 and libxslt are installed **

Libxslt'nin derleme yapılandırmasını kullanma

src/lxml/lxml.etree.c:4: fatal error: Python.h: No such file or directory
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1

Yanıtlar:


108

Sadece yap:

sudo apt-get install python-lxml

Python 2 için (örneğin, Inkscape için gerekli):

sudo apt-get install python2-lxml

Kaynaktan yüklemeyi planlıyorsanız, albertov'un cevabı yardımcı olacaktır. Ancak bir neden olmadıkça yapmayın, sadece depodan kurun.


6
Sanal bir ortam kullanıyorsanız, bu doğru cevap değildir.
AlexLordThorsen

72

Lxml sürümünü yükselterek çözdüm:

pip install --upgrade lxml

49

Lxml'yi derlemek için Python'un başlık dosyalarını (debian / ubuntu'da python-dev paketi) kurmanız gerekir. Libxml2, libxslt, libxml2-dev ve libxslt-dev gibi:

apt-get install python-dev libxml2 libxml2-dev libxslt-dev

2
ve libxml2-dev ve libxslt-dev.
Lennart Regebro

1
libxslt gerekli görünmüyor (en azından benim için değildi). Bu nedenle, apt-get install python-dev libxml2 libxml2-dev libxslt-devyeterli olmalı
Mathieu

WeasyPrint'i kurmak için bunu yapmak zorundaydım, apt-getDebian 7 için talimatları tek başına işe yaramadı.
cnst

1
libxslt benim için önemliydi, lxml kurulumu onsuz olmazdı.
yaprak koltuğundan

35

Python3 çalıştırıyorsanız, yapmanız gerekenler:

pip3 install lxml


Bu benim için çalıştı! Python3 kullanıyordum ve python'un önceki bir sürümü için kitaplıklar yüklüyordum pip. Çünkü python3kullanmalıyız pip3.
Victor

5

RHEL / CentOS için, Python sürümünü öğrenmek için "python --version" komutunu çalıştırın. Örneğin, aşağıda:

$ python --version 
  Python 2.7.12

Şimdi python * -lxml paketini bulmak için "sudo yum search lxml" çalıştırın.

$ sudo yum search lxml
Failed to set locale, defaulting to C
Loaded plugins: priorities, update-motd, upgrade-helper
1014 packages excluded due to repository priority protections
============================================================================================================= N/S matched: lxml =============================================================================================================
python26-lxml-docs.noarch : Documentation for python-lxml
python27-lxml-docs.noarch : Documentation for python-lxml
python26-lxml.x86_64 : ElementTree-like Python bindings for libxml2 and libxslt
python27-lxml.x86_64 : ElementTree-like Python bindings for libxml2 and libxslt

Artık Python sürümünüze göre paketi seçebilir ve aşağıdaki gibi komutu çalıştırabilirsiniz:

$ sudo yum install python27-lxml.x86_64

Windows kullanıyorum. Herhangi bir çözüm var mı?
Paul

"python2.7.exe -m pip install --upgrade lxml" kullanın
Oni


0

Alpine tabanlı bir görüntüde bu sorunla karşılaşıyorsanız şunu deneyin:

apk add --update --no-cache g++ gcc libxml2-dev libxslt-dev python-dev libffi-dev openssl-dev make

// pip kurulum -r gereksinimleri.txt

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.