Mam problem z instalacją lxml z easy_install na Ubuntu 11.
Kiedy piszę $ 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.
Wydaje się, że libxslt
albo libxml2
nie jest zainstalowany. Próbowałem postępować zgodnie z instrukcjami na 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 bez powodzenia.
Jeśli spróbuję wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.6.27.tar.gz
, dostanę
<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 spróbuję najpierw drugiego, dostanę się ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
i ostatecznie to się nie powiedzie z:
checking for libxml libraries >= 2.6.27... configure: error: Could not find libxml2 anywhere, check ftp://xmlsoft.org/.
Próbowałem obie wersje 2.6.27
i 2.6.29
od libxml2
bez różnicy.
Nie pozostawiając żadnego kamienia odwróconego, udało mi się sudo apt-get install libxml2-dev
, ale to nic nie zmienia.
apt-get install libxml2-dev libxslt-dev
możesz po prostueasy_install lxml
zlib1g-dev
.zlib1g-dev
jest konieczne. Bez tego mam błąd/usr/bin/ld: cannot find -lz
.Musiałem także zainstalować lib32z1-dev, zanim skompiluje się lxml (Ubuntu 13.04 x64).
Lub wszystkie wymagane pakiety razem:
źródło
Jak @Pepijn skomentował odpowiedź @Druska, w Ubuntu 13.04 x64 nie ma potrzeby używania lib32z1-dev, wystarczy zlib1g-dev:
źródło
Zainstalowałem lxml z pipem w Vagrant, używając Ubuntu 14.04 i miałem ten sam problem. Mimo że wszystkie wymagania były zainstalowane, ciągle pojawiał się ten sam błąd. Okazało się, że moja maszyna wirtualna domyślnie miała mało pamięci. Przy 1024 MB wszystko działa dobrze.
Dodaj to do pliku VagrantFile, a lxml powinien poprawnie skompilować / zainstalować:
Dzięki sixhobbit za podpowiedź (patrz: nie można zainstalować lxml na Ubuntu 12.04 ).
źródło
Dla Ubuntu 14.04
sudo apt-get install python-lxml
pracował dla mnie.
źródło
Krok 1
Krok 2
Krok 3
Krok 4
W razie wątpliwości kliknij tutaj
źródło
Po zainstalowaniu pakietów wspomnianych przez AKX nadal miałem ten sam problem. Rozwiązałem to za pomocą
źródło
W przypadku Ubuntu 12.04.3 LTS (Precise Pangolin) musiałem zrobić:
(Uwaga „1” w libxslt1-dev)
Potem właśnie zainstalowałem lxml z pip / easy_install.
źródło
Od Ubuntu 18.4 (Bionic Beaver) zaleca się stosowanie apt zamiast apt-get, ponieważ ma on znacznie lepszą formę strukturalną.
Jeśli jednak jesteś zadowolony z możliwie starszej wersji
lxml
, możesz spróbowaćźródło
Wiele odpowiedzi tutaj jest raczej starych,
dzięki wskaźnikowi z @Simplans ( https://stackoverflow.com/a/37759871/417747 ) i głównej ...
Co dla mnie zadziałało (Ubuntu bionic):
(+
sudo apt-get install libxml2-dev libxslt1-dev
Zainstalowałem wcześniej, ale nie jestem pewien, czy nadal jest to wymóg)źródło
Najpierw zainstaluj
python-lxml
pakiet Ubuntu i jego zależności:Następnie użyj
pip
do aktualizacji do najnowszej wersji lxml dla Python:źródło