web-dev-qa-db-ja.com

pythonにlxmlモジュールをインストールする

pythonスクリプトの実行中に、このエラーが発生しました

  from lxml import etree
ImportError: No module named lxml

今、私はlxmlをインストールしようとしました

Sudo easy_install lmxl

しかし、それは私に次のエラーを与えます

Building lxml version 2.3.beta1.
NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available.
ERROR: /bin/sh: xslt-config: not found

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

Libxsltのビルド構成を使用する

src/lxml/lxml.etree.c:4: fatal error: Python.h: No such file or directory
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1
76
user563101

ただやる:

Sudo apt-get install python-lxml

Python 2の場合(たとえば、Inkscapeで必要):

Sudo apt-get install python2-lxml

ソースからインストールする場合は、 albertov's answer が役立ちます。しかし、理由がない限り、リポジトリからインストールするだけです。

101
user225312

私はそれをlxmlバージョンのアップグレードで解決しました:

pip install --upgrade lxml
52
dbarenas

Lxmlをコンパイルするには、Pythonのヘッダーファイル(debian/ubuntuのpython-devパッケージ)をインストールする必要があります。 libxml2、libxslt、libxml2-dev、およびlibxslt-devと同様に:

apt-get install python-dev libxml2 libxml2-dev libxslt-dev
49
albertov

Python3を実行している場合は、次を実行する必要があります。

pip3 install lxml

22
yennycheung

RHEL/CentOSの場合、「python --version」コマンドを実行してPythonバージョンを確認します。例えば。未満:

$ python --version 
  Python 2.7.12

次に、「Sudo yum search lxml」を実行して、python * -lxmlパッケージを見つけます。

$ Sudo yum search lxml
Failed to set locale, defaulting to C
Loaded plugins: priorities, update-motd, upgrade-helper
1014 packages excluded due to repository priority protections
============================================================================================================= N/S matched: lxml =============================================================================================================
python26-lxml-docs.noarch : Documentation for python-lxml
python27-lxml-docs.noarch : Documentation for python-lxml
python26-lxml.x86_64 : ElementTree-like Python bindings for libxml2 and libxslt
python27-lxml.x86_64 : ElementTree-like Python bindings for libxml2 and libxslt

これで、Pythonバージョンごとにパッケージを選択し、以下のようなコマンドを実行できます。

$ Sudo yum install python27-lxml.x86_64
4
Krishna Pandey