web-dev-qa-db-ja.com

Ubuntuにlxmlをインストールする方法

Ubuntu 11では、easy_installを使ってlxmlをインストールすることができません。

$ 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.29libxml2を試してみましたが、違いはありませんでした。

何の問題もありませんが、私はSudo apt-get install libxml2-devを正常に実行しましたが、これは何も変わりません。

429
Eric Wilson

Ubuntuに参加しているので、それらのソースパッケージに悩まないでください。 apt-getを使って開発パッケージをインストールするだけです。

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

それでも古いバージョンのlxmlに満足していれば、試してみることができます。

apt-get install python-lxml

そしてそれでやる。 :)

933
AKX

Lxmlがコンパイルされる前にlib32z1-devもインストールしなければなりませんでした(Ubuntu 13.04 x 64)。

Sudo apt-get install lib32z1-dev

または、必要なすべてのパッケージをまとめて:

Sudo apt-get install libxml2-dev libxslt-dev python-dev lib32z1-dev
110
Druska

@Pepijnが@Druskaの回答にコメントしているように、ubuntu 13.04 x 64では、lib32z1-devを使用する必要はなく、zlib1g-devで十分です。

Sudo apt-get install libxml2-dev libxslt-dev python-dev zlib1g-dev
43
JimmyYe

私はUbuntu 14.04を使ってVagrantにpipを使ってlxmlをインストールしましたが、同じ問題がありました。すべての要件がインストールされている場合でも、私は何度も何度も同じエラーを受けました。結局のところ、私のVMはデフォルトでほとんどメモリを必要としませんでした。 1024 MBですべてがうまくいきます。

これをVagrantFileに追加すると、lxmlは正しくコンパイル/インストールされるはずです。

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

ヒントを与えてくれたsixhobbitのおかげで(参照: Ubuntu 12.04にlxmlをインストールできない )。

15
Chris

Ubuntu 14.04の場合

Sudo apt-get install python-lxml

私のために働いた。

10
Wade

AKXによって言及されたパッケージをインストールした後、私はまだ同じ問題を抱えていました。とそれを解決した

apt-get install python-dev
8
bcoughlan

ステップ1

このコマンドを使って最新のpythonアップデートをインストールしてください。

Sudo apt-get install python-dev

ステップ2

最初の依存関係を追加するlibxml2バージョン2.7.0以降

Sudo apt-get install libxml2-dev

ステップ3

2番目の依存関係を追加するlibxsltバージョン1.1.23以降

Sudo apt-get install libxslt1-dev

ステップ4

最初にpipパッケージ管理ツールをインストールしてください。そしてこのコマンドを実行します。

pip install lxml

疑問があれば ここをクリック

8
Simplans

Ubuntu 12.04.3 LTS(Precise Pangolin)では、次のことをしなければなりませんでした。

apt-get install libxml2-dev libxslt1-dev

(libxslt1-devの "1"に注意してください)

それから私はちょうどpip/easy_installでlxmlをインストールしました。

6
gonz

ここでの多くの答えはかなり古く、
@Simplans( https://stackoverflow.com/a/37759871/417747 )のポインターと ホームページ ...のおかげで.

私にとってうまくいったこと(Ubuntu bionic):

Sudo apt-get install python3-lxml  

(+ Sudo apt-get install libxml2-dev libxslt1-dev私はそれの前にインストールしました、しかしそれがまだ必要条件であるかどうかわかりません)

1
NSGaga

最初にUbuntuのpython-lxmlパッケージとその依存関係をインストールしてください:

Sudo apt-get install python-lxml

それからpipを使ってPython用の最新版のlxmlにアップグレードします。

pip install lxml
0
Joseph

Ubuntu 18.4(Bionic Beaver)から、apt-getの代わりにaptを使用することをお勧めします。構造形式がはるかに優れているためです。

Sudo apt install libxml2-dev libxslt1-dev python-dev

ただし、lxmlの古いバージョンに完全に満足している場合は、試してみてください。

Sudo apt install python-lxml
0
Rarblack