Как установить этот пакет содержит файлы в Ubuntu


у меня возникли трудности с установкой lxml с easy_install на Ubuntu 11.

когда я типа $ easy_install lxml Я:

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.

кажется,libxslt или libxml2 не установлен. Я пробовал следовать инструкциям по адресу http://www.techsww.com/tutorials/libraries/libxslt/installation/installing_libxslt_on_ubuntu_linux.php и http://www.techsww.com/tutorials/libraries/libxml/installation/installing_libxml_on_ubuntu_linux.php без успеха.

если я попробую wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.6.27.tar.gz Я

<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'.

если я сначала попробую другой, я доберусь до ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 и это не удастся в конечном итоге с:

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

я пробовал обе версии 2.6.27 и 2.6.29 на libxml2 без разницы.

не оставляя камня на камне, я успешно сделал sudo apt-get install libxml2-dev, но это ничего не меняет.

9 419

9 ответов:

Так как вы находитесь на Ubuntu, не беспокойтесь об этих исходных пакетах. Просто установите эти пакеты разработки с помощью apt-get.

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

Если вы довольны, возможно, более старой версией lxml в целом, вы можете попробовать

apt-get install python-lxml

и покончим с этим. :)

Я также должен был установить lib32z1-dev перед тем, как lxml будет составлять (в Ubuntu 13.04 х64).

sudo apt-get install lib32z1-dev

или все необходимые пакеты вместе:

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

Как @Pepijn прокомментировал ответ @Druska, на ubuntu 13.04 x64 нет необходимости использовать lib32z1-dev, zlib1g-dev достаточно:

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

Я установил lxml с pip в Vagrant, используя Ubuntu 14.04 и имел ту же проблему. Несмотря на то, что все требования, где установлен, я получил ту же ошибку снова и снова. Оказалось, моя виртуальная машина по умолчанию имела мало памяти. С 1024 МБ все работает нормально.

добавьте это в ваш VagrantFile и lxml должен правильно скомпилировать / установить:

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

спасибо sixhobbit за подсказку (см.:не удается установить lxml на Ubuntu 12.04).

Для Ubuntu 14.04

sudo apt-get install python-lxml

работал для меня.

после установки пакетов, упомянутых AKX, у меня все еще была та же проблема. Решил ее с помощью

apt-get install python-dev

Шаг 1

установите последние обновления python с помощью этой команды.

sudo apt-get install python-dev

Шаг 2

добавить первую зависимость libxml2 версия 2.7.0 или позднее

sudo apt-get install libxml2-dev

Шаг 3

добавить вторую зависимость libxslt версия 1.1.23 или позже

sudo apt-get install libxslt1-dev

Шаг 4

установить Пип сначала инструмент управления пакетами. и выполните эту команду.

pip install lxml

если у вас есть сомнения Нажмите Здесь

для Ubuntu 12.04.3 LTS (точный Панголин) я должен был сделать:

apt-get install libxml2-dev libxslt1-dev

(обратите внимание на "1" в libxslt1-dev)

тогда я только что установил этот пакет содержит файлы с Pip/easy_install.

Сначала установите Ubuntu python-lxml пакет и его зависимости:

sudo apt-get install python-lxml

затем использовать pip для обновления до последней версии lxml для Python:

pip install lxml