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.29
とlibxml2
を試してみましたが、違いはありませんでした。
何の問題もありませんが、私はSudo apt-get install libxml2-dev
を正常に実行しましたが、これは何も変わりません。
Ubuntuに参加しているので、それらのソースパッケージに悩まないでください。 apt-getを使って開発パッケージをインストールするだけです。
apt-get install libxml2-dev libxslt1-dev python-dev
それでも古いバージョンのlxmlに満足していれば、試してみることができます。
apt-get install python-lxml
そしてそれでやる。 :)
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
@Pepijnが@Druskaの回答にコメントしているように、ubuntu 13.04 x 64では、lib32z1-devを使用する必要はなく、zlib1g-devで十分です。
Sudo apt-get install libxml2-dev libxslt-dev python-dev zlib1g-dev
私は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をインストールできない )。
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
2番目の依存関係を追加するlibxsltバージョン1.1.23以降
Sudo apt-get install libxslt1-dev
ステップ4
最初にpipパッケージ管理ツールをインストールしてください。そしてこのコマンドを実行します。
pip install lxml
疑問があれば ここをクリック
Ubuntu 12.04.3 LTS(Precise Pangolin)では、次のことをしなければなりませんでした。
apt-get install libxml2-dev libxslt1-dev
(libxslt1-devの "1"に注意してください)
それから私はちょうどpip/easy_installでlxmlをインストールしました。
ここでの多くの答えはかなり古く、
@Simplans( https://stackoverflow.com/a/37759871/417747 )のポインターと ホームページ ...のおかげで.
私にとってうまくいったこと(Ubuntu bionic):
Sudo apt-get install python3-lxml
(+ Sudo apt-get install libxml2-dev libxslt1-dev
私はそれの前にインストールしました、しかしそれがまだ必要条件であるかどうかわかりません)
最初にUbuntuのpython-lxml
パッケージとその依存関係をインストールしてください:
Sudo apt-get install python-lxml
それからpip
を使ってPython用の最新版のlxmlにアップグレードします。
pip install lxml
Ubuntu 18.4(Bionic Beaver)から、apt-getの代わりにaptを使用することをお勧めします。構造形式がはるかに優れているためです。
Sudo apt install libxml2-dev libxslt1-dev python-dev
ただし、lxml
の古いバージョンに完全に満足している場合は、試してみてください。
Sudo apt install python-lxml