Установка модуля lxml в python - PullRequest
73 голосов
/ 04 января 2011

при запуске скрипта на python я получил эту ошибку

  from lxml import etree
ImportError: No module named lxml

Теперь я попытался установить lxml

sudo easy_install lmxl

но это дает мне следующую ошибку

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

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

Ответы [ 5 ]

99 голосов
/ 04 января 2011

Просто сделайте:

sudo apt-get install python-lxml

Если вы планируете установку из исходного кода, тогда ответ Альбертова поможет.Но если нет причины, не устанавливайте ее из репозитория.

49 голосов
/ 26 сентября 2013

Я решил, обновив версию lxml:

pip install --upgrade lxml
49 голосов
/ 04 января 2011

Вам нужно установить заголовочные файлы Python (пакет python-dev в debian / ubuntu) для компиляции lxml.А также libxml2, libxslt, libxml2-dev и libxslt-dev:

apt-get install python-dev libxml2 libxml2-dev libxslt-dev
21 голосов
/ 02 мая 2016

Если вы работаете с python3, вам нужно будет сделать:

pip3 install lxml

4 голосов
/ 21 февраля 2017

Для RHEL / CentOS, запустите команду "python --version", чтобы узнать версию Python. Например. ниже:

$ python --version 
  Python 2.7.12

Теперь запустите "sudo yum search lxml", чтобы найти пакет python * -lxml.

$ 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

Теперь вы можете выбрать пакет согласно вашей версии Python и выполнить команду, как показано ниже:

$ sudo yum install python27-lxml.x86_64
...