在Ubuntu中安装lxml的问题

Apu*_*Jha 10 python lxml pip python-2.7

当我这样做时出现以下错误:pip install lxml

You are using pip version 6.0.8, however version 7.1.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.                                                                                          
Collecting lxml
  Using cached lxml-3.4.4.tar.gz
    /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
      warnings.warn(msg)
    Building lxml version 3.4.4.
    Building without Cython.
    ERROR: /bin/sh: 1: xslt-config: not found
    ** make sure the development packages of libxml2 and libxslt are installed **
    Using build configuration of libxslt
Installing collected packages: lxml
  Running setup.py install for lxml
    /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
      warnings.warn(msg)
    Building lxml version 3.4.4.
    Building without Cython.
    ERROR: /bin/sh: 1: xslt-config: not found
    ** make sure the development packages of libxml2 and libxslt are installed **
    Using build configuration of libxslt
    building 'lxml.etree' extension
    i686-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-RLyvkw/lxml/src/lxml/includes -I/usr/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.7/src/lxml/lxml.etree.o -w
    In file included from src/lxml/lxml.etree.c:239:0:
    /tmp/pip-build-RLyvkw/lxml/src/lxml/includes/etree_defs.h:14:31: fatal error: libxml/xmlversion.h: No such file or directory
     #include "libxml/xmlversion.h"
                                   ^
    compilation terminated.
    error: command 'i686-linux-gnu-gcc' failed with exit status 1
    Complete output from command /home/apurva/.virtualenvs/universallogin/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-RLyvkw/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-9WRQzF-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/apurva/.virtualenvs/universallogin/include/site/python2.7:
    /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
    
      warnings.warn(msg)
    
    Building lxml version 3.4.4.
    
    Building without Cython.
    
    ERROR: /bin/sh: 1: xslt-config: not found
    
    
    
    ** make sure the development packages of libxml2 and libxslt are installed **
    
    
    
    Using build configuration of libxslt
    
    running install
    
    running build
    
    running build_py
    
    creating build
    
    creating build/lib.linux-i686-2.7
    
    creating build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/pyclasslookup.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/doctestcompare.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/sax.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/_elementpath.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/__init__.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/builder.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/ElementInclude.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/cssselect.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/usedoctest.py -> build/lib.linux-i686-2.7/lxml
    
    creating build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/__init__.py -> build/lib.linux-i686-2.7/lxml/includes
    
    creating build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/soupparser.py -> build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/html5parser.py -> build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/_setmixin.py -> build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/diff.py -> build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/formfill.py -> build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/_diffcommand.py -> build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/ElementSoup.py -> build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/__init__.py -> build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/builder.py -> build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/defs.py -> build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/_html5builder.py -> build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/usedoctest.py -> build/lib.linux-i686-2.7/lxml/html
    
    copying src/lxml/html/clean.py -> build/lib.linux-i686-2.7/lxml/html
    
    creating build/lib.linux-i686-2.7/lxml/isoschematron
    
    copying src/lxml/isoschematron/__init__.py -> build/lib.linux-i686-2.7/lxml/isoschematron
    
    copying src/lxml/lxml.etree.h -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/lxml.etree_api.h -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/xinclude.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/c14n.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/xpath.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/schematron.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/xslt.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/tree.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/config.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/uri.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/relaxng.pxd -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/etree_defs.h -> build/lib.linux-i686-2.7/lxml/includes
    
    copying src/lxml/includes/lxml-version.h -> build/lib.linux-i686-2.7/lxml/includes
    
    creating build/lib.linux-i686-2.7/lxml/isoschematron/resources
    
    creating build/lib.linux-i686-2.7/lxml/isoschematron/resources/rng
    
    copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/rng
    
    creating build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl
    
    copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl
    
    copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl
    
    creating build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    running build_ext
    
    building 'lxml.etree' extension
    
    creating build/temp.linux-i686-2.7
    
    creating build/temp.linux-i686-2.7/src
    
    creating build/temp.linux-i686-2.7/src/lxml
    
    i686-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-RLyvkw/lxml/src/lxml/includes -I/usr/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.linux-i686-2.7/src/lxml/lxml.etree.o -w
    
    In file included from src/lxml/lxml.etree.c:239:0:
    
    /tmp/pip-build-RLyvkw/lxml/src/lxml/includes/etree_defs.h:14:31: fatal error: libxml/xmlversion.h: No such file or directory
    
     #include "libxml/xmlversion.h"
    
                                   ^
    
    compilation terminated.
    
    error: command 'i686-linux-gnu-gcc' failed with exit status 1
    
    ----------------------------------------
    Command "/home/apurva/.virtualenvs/universallogin/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-RLyvkw/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-9WRQzF-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/apurva/.virtualenvs/universallogin/include/site/python2.7" failed with error code 1 in /tmp/pip-build-RLyvkw/lxml
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这个:sudo apt-get install zlib1g-dev在"pip install"之前阅读这个答案:无法在ubuntu中安装lxml verison 3.3.5

但没有帮助.另外,尝试安装python-dev,python3-dev,lib-eventdev也没有帮助.

另外,尝试这样做:STATIC_DEPS = true pip install lxml阅读:http://lxml.de/installation.html

也没有帮助!如果您能事先提出建议,将非常感激.

jam*_*san 24

输出状态** make sure the development packages of libxml2 and libxslt are installed **.你做到了吗?

sudo apt-get install libxml2-dev libxslt-dev
Run Code Online (Sandbox Code Playgroud)

另外,有没有特别的原因你使用pip安装而不是安装python-lxmlUbuntu附带的软件包?除非您有其他理由,否则应首选安装您的发行包.


Cor*_*erg 4

如果您不需要 PyPI 的特定版本,则始终可以使用为 Ubuntu 打包的版本。

$ sudo apt-get install python-lxml
Run Code Online (Sandbox Code Playgroud)

...然后在您的 virtualenv 中允许系统站点包。


更新:

为了澄清... pip 默认从 PyPI 安装 python 包。然而,许多 python 软件包也为 Ubuntu 打包并存储在 Ubuntu 档案中,您可以通过系统软件包管理器 (apt-get) 安装它们,而不是使用 pip。这会很有帮助,因为 Ubuntu 软件包已经编译完毕,并且会引入它们需要的任何依赖项。

默认情况下,virtualenv 创建一个隔离的 python 环境,因此您无权访问系统包(使用 apt-get 安装的)。但是,您可以在 virtualenv 中允许系统站点包。

例如,让我们从系统包中安装 lxml,创建一个名为“ENV”的 virtualenv 以允许访问系统包,然后导入 lxml 来验证它是否有效:

$ sudo apt-get install python-lxml
$ virtualenv --system-site-packages ENV
$ source ENV/bin/activate
(ENV)$ python -c "import xml"
Run Code Online (Sandbox Code Playgroud)