Jak zainstalować lxml na Ubuntu

Mam problem z zainstalowaniem lxml z easy_install na Ubuntu 11.

Kiedy wpisuję $ easy_install lxml otrzymuję:

Searching for lxml
Reading http://pypi.python.org/simple/lxml/
Reading http://codespeak.net/lxml
Best match: lxml 2.3
Downloading http://lxml.de/files/lxml-2.3.tgz
Processing lxml-2.3.tgz
Running lxml-2.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-7UdQOZ/lxml-2.3/egg-dist-tmp-GacQGy
Building lxml version 2.3.
Building without Cython.
ERROR: /bin/sh: xslt-config: not found

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

Using build configuration of libxslt 
In file included from src/lxml/lxml.etree.c:227:0:
src/lxml/etree_defs.h:9:31: fatal error: libxml/xmlversion.h: No such file or directory
compilation terminated.

Wygląda na to, że libxslt lub libxml2 nie jest zainstalowany. Próbowałem postępować zgodnie z instrukcjami w http://www.techsww.com/tutorials/libraries/libxslt/installation/installing_libxslt_on_ubuntu_linux.php i http://www.techsww.com/tutorials/libraries/libxml/installation/installing_libxml_on_ubuntu_linux.php{[18]bez powodzenia.

If I try wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.6.27.tar.gz I get

<successful connection info>
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /libxml2 ... done.
==> SIZE libxml2-sources-2.6.27.tar.gz ... done.
==> PASV ... done.    ==> RETR libxml2-sources-2.6.27.tar.gz ... 
No such file `libxml2-sources-2.6.27.tar.gz'.

Jeśli najpierw spróbuję drugiego, to dojdę do {[7] } i to w końcu się nie uda z:

checking for libxml libraries >= 2.6.27... configure: error: Could not find libxml2 anywhere, check ftp://xmlsoft.org/.

Wypróbowałem obie wersje 2.6.27 i 2.6.29 z libxml2 bez różnicy.

Nie zostawiając kamienia na uboczu, udało mi się zrobić sudo apt-get install libxml2-dev, ale to nic nie zmienia.

Author: bluszcz, 2011-06-28

9 answers

Skoro jesteś na Ubuntu, nie przejmuj się tymi pakietami źródłowymi. Po prostu zainstaluj te pakiety programistyczne używając apt-get.

apt-get install libxml2-dev libxslt1-dev python-dev

Jeśli jesteś zadowolony z prawdopodobnie starszej wersji lxml, możesz spróbować

apt-get install python-lxml
I skończ z tym. :)
 911
Author: AKX,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-02 23:30:17

Musiałem też zainstalować lib32z1-dev zanim lxml się skompiluje(Ubuntu 13.04 x64).

sudo apt-get install lib32z1-dev

Lub wszystkie wymagane pakiety razem:

sudo apt-get install libxml2-dev libxslt-dev python-dev lib32z1-dev
 109
Author: Druska,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-21 23:51:53

Jak @Pepijn skomentował odpowiedź @ Druska, na ubuntu 13.04 x64 nie ma potrzeby używania lib32z1-dev, zlib1g-dev wystarczy:

sudo apt-get install libxml2-dev libxslt-dev python-dev zlib1g-dev
 42
Author: JimmyYe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-08 00:37:50

Zainstalowałem lxml z pip w Vagrant, używając Ubuntu 14.04 i miałem ten sam problem. Mimo że wszystkie wymagania są zainstalowane, ciągle mam ten sam błąd. Okazało się, że moja maszyna wirtualna domyślnie miała mało pamięci. Z 1024 MB wszystko działa dobrze.

Dodaj to do swojego VagrantFile i lxml powinien poprawnie skompilować / zainstalować:

config.vm.provider "virtualbox" do |vb|
  vb.memory = 1024
end

Dzięki sixhobbit za podpowiedź (zobacz: nie można zainstalować lxml na Ubuntu 12.04).

 14
Author: Chris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:21

Dla Ubuntu 14.04

sudo apt-get install python-lxml

Zadziałało dla mnie.
 9
Author: Wade,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-01 09:32:47

Po zainstalowaniu pakietów wymienionych przez AKX nadal miałem ten sam problem. Rozwiązałem to za pomocą

apt-get install python-dev
 8
Author: bcoughlan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-08 00:38:00

Krok 1

Zainstaluj najnowsze aktualizacje Pythona używając tego polecenia.

sudo apt-get install python-dev

Krok 2

Dodaj pierwszą zależność libxml2 Wersja 2.7.0 lub nowsza

sudo apt-get install libxml2-dev

Krok 3

Dodaj drugą zależność libxslt Wersja 1.1.23 lub nowsza

sudo apt-get install libxslt1-dev

Krok 4

Zainstaluj pip najpierw narzędzie do zarządzania pakietami. i uruchom to polecenie.

pip install lxml

Jeśli masz jakiekolwiek wątpliwości Kliknij tutaj

 7
Author: Simplans,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-11 04:19:18

Dla Ubuntu 12.04.3 LTS (dokładnie Pangolin) musiałem zrobić:

apt-get install libxml2-dev libxslt1-dev

(zwróć uwagę na "1" w libxslt1-dev)

Wtedy właśnie zainstalowałem lxml z pip / easy_install.

 6
Author: gonz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-10 18:40:20

Najpierw zainstaluj pakiet python-lxml Ubuntu i jego zależności:

sudo apt-get install python-lxml

Następnie użyj pip, aby zaktualizować lxml do najnowszej wersji Pythona:

pip install lxml
 0
Author: Joseph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-27 10:26:31