src / lxml / etree_defs.h:9:31:致命错误:libxml / xmlversion.h:没有这样的文件或目录

时间:2013-04-02 08:11:32

标签: python-2.7 lxml pip

  1. 我正在运行以下命令,以便在该文件中安装软件包“ pip install -r requirements.txt --download-cache=~/tmp/pip-cache”。

  2. requirement.txt包含像

  3. 这样的pacakages
    # Data formats
    # ------------
    PIL==1.1.7 # 
    
    html5lib==0.90
    httplib2==0.7.4
    lxml==2.3.1
    
    # Documentation
    # -------------
    Sphinx==1.1
    docutils==0.8.1
    
    # Testing
    # -------
    behave==1.1.0
    dingus==0.3.2
    django-testscenarios==0.7.2
    mechanize==0.2.5
    mock==0.7.2
    testscenarios==0.2
    testtools==0.9.14
    wsgi_intercept==0.5.1
    

    在下载安装“lxml”软件包时,我收到以下错误

    Requirement already satisfied (use --upgrade to upgrade): django-testproject>=0.1.1 in /usr/lib/python2.7/site-packages/django_testproject-0.1.1-py2.7.egg (from django-testscenarios==0.7.2->-r requirements.txt (line 33))
    Installing collected packages: lxml, Sphinx, docutils, behave, dingus, mock, testscenarios, testtools, South
      Running setup.py install for lxml
        Building lxml version 2.3.1.
        Building without Cython.
        ERROR: /bin/sh: xslt-config: command not found
    
        ** make sure the development packages of libxml2 and libxslt are installed **
    
        Using build configuration of libxslt
        building 'lxml.etree' extension
        gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -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:
        src/lxml/etree_defs.h:9:31: fatal error: libxml/xmlversion.h: No such file or directory
        compilation terminated.
        error: command 'gcc' failed with exit status 1
        Complete output from command /usr/bin/python -c "import setuptools;__file__='/root/Projects/ir/build/lxml/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-SwjFm3-record/install-record.txt:
        Building lxml version 2.3.1.
    
    Building without Cython.
    
    ERROR: /bin/sh: xslt-config: command 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
    
    copying src/lxml/cssselect.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/__init__.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/sax.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/pyclasslookup.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/usedoctest.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/doctestcompare.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/_elementpath.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/ElementInclude.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/builder.py -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/html/clean.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/_dictmixin.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/usedoctest.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/builder.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/diff.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/_diffcommand.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/soupparser.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/isoschematron/__init__.py -> build/lib.linux-i686-2.7/lxml/isoschematron
    
    copying src/lxml/etreepublic.pxd -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/tree.pxd -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/etree_defs.h -> build/lib.linux-i686-2.7/lxml
    
    copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/rng
    
    copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> 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/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/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_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_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/readme.txt -> build/lib.linux-i686-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    running build_ext
    
    building 'lxml.etree' extension
    
    gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -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:
    
    src/lxml/etree_defs.h:9:31: fatal error: libxml/xmlversion.h: No such file or directory
    
    compilation terminated.
    
    error: command 'gcc' failed with exit status 1
    
    ----------------------------------------
    Command /usr/bin/python -c "import setuptools;__file__='/root/Projects/ir/build/lxml/setup.py';execfile(__file__)" install --single-version-externally-managed --record /tmp/pip-SwjFm3-record/install-record.txt failed with error code 1
    Storing complete log in /root/.pip/pip.log
    

    任何人都可以检查并指导我会出现什么问题以及为什么?安装时缺少任何软件包。

5 个答案:

答案 0 :(得分:226)

安装libxslt-devel& libxml2-devel使用

sudo apt-get install libxml2-dev libxslt1-dev

安装后按照上面的

进行操作

答案 1 :(得分:49)

  1. 使用

    安装Cython

    easy_install Cython

  2. 完成cython后,安装libxslt-devel& libxml2-devel使用

    yum install libxslt-devel libxml2-devel

  3. 这对我有用。

答案 2 :(得分:8)

选择的答案是正确的,但我只是想为使用Fedora的人添加:使用dnf时libxslt1被称为libxslt。所以命令是:

sudo dnf install libxml2-devel libxslt-devel
对于dnf,

devel与apt-get的dev相同。

答案 3 :(得分:4)

没有sudo权限,您可以使用以下命令安装lxml:

STATIC_DEPS=true pip install lxml

正如lxml documentation

中所述

答案 4 :(得分:1)

经过认证的答案非常有效。但是只需添加Alpine的安装命令即可安装libxslt-devel和libxml2-devel

apk add --update libxml2-dev libxslt-dev