src / lxml / etree_defs.h : 9 : 31 : 치명적인 오류 : libxml / xmlversion.h : 해당 파일 또는 디렉터리가 없습니다.


99
  1. " pip install -r requirements.txt --download-cache=~/tmp/pip-cache" 파일에 패키지를 설치하기 위해 다음 명령을 실행하고 있습니다.

  2. requirements.txt에는 다음과 같은 패키지가 포함됩니다.

# 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

누구든지 문제가 무엇인지, 왜 그런지 확인하고 안내 할 수 있습니까? 설치할 패키지가 없습니다.

답변:


246

다음을 사용하여 libxslt-devel 및 libxml2-devel 설치

sudo apt-get install libxml2-dev libxslt1-dev

설치 후 위의 것을 따르십시오


3
Ubuntu 13.04 사용자를위한 알림 : libxml2가 이미 설치되어 있고 버전 2.9.0 + dfsg1-4ubuntu4.3으로 업그레이드 된 경우 sudo apt-get install libxml2 명령을 입력하여 2.9.0 + dfsg1-4ubuntu4.1로 다운 그레이드해야합니다. = 2.9.0 + dfsg1-4ubuntu4.1 그렇지 않으면 libxml2-dev가 버전 종속성으로 인해 설치되지 않습니다.
Ghassen Telmoudi

libxml2와 libxml의 차이점은 무엇입니까? 감사!
Honghe.Wu

5
두 라이브러리를 설치했지만 여전히 오류가 발생했습니다. 로그 오프했다가 다시 켜도 여전히 오류가 발생합니다. make 파일은 libxml에 대해 / usr / include를 찾고 있지만 libxml2 디렉토리 안에 중첩되어 있습니다. / usr / include에서 libxml에 링크하는 것이 트릭을 수행했습니다 sudo ln -s libxml2/libxml libxml.
foszter

1
이 너무 데비안 제시에 대한 답변입니다
Anentropic

3
Alpine Linux (아마도 Docker에서)를 사용하는 사용자의 경우 명령은 다음과 같습니다. apk add install libxml2-dev libxslt-dev
ivarec

51
  1. 다음을 사용하여 Cython 설치

    easy_install Cython

  2. cython 완료 후 다음을 사용하여 libxslt-devel 및 libxml2-devel을 설치하십시오.

    yum install libxslt-devel libxml2-devel

이것은 나를 위해 일했습니다.


3
이것은 실제로 정답입니다 (사용 sudo는 apt-get을 데비안 / 우분투)
의 Roshan

1
@roshan : 오른쪽 sudo는 apt-get을 설치 libxml2를-DEV libxslt1-DEV
조엘 쇼그렌

5
아마존 리눅스 용 sudo yum install libxslt-devel libxml2-devell나를 위해 해결, THX
Cmag

Cython은 라이브러리를 설치 한 후 나에게 누락 된 링크였습니다. -dev그래도 Raspbian의 패키지 에만 해당됩니다. cython을 설치하는 것은 까다로 웠습니다 ... sudo pip3 install Cython --install-option="--no-cython-compile"제대로 작동하려면 결국 사용해야 했습니다. sudo pip3 install Cython혼자가 추락하고 easy_install3아무것도하지 않았다
조이

9

선택한 대답은 맞지만 Fedora를 사용하는 사람들을 위해 추가하고 싶었습니다 . dnf 를 사용할 때 libxslt1호출 libxslt됩니다. 따라서 명령은 다음과 같습니다.

sudo dnf install libxml2-devel libxslt-devel

develdnf의 dev경우 apt-get 과 동일 합니다.


6

sudo 권한없이 다음을 사용하여 lxml을 설치할 수 있습니다.

STATIC_DEPS=true pip install lxml

lxml 문서 에서 언급했듯이


5

인증 된 답변은 완벽하게 작동합니다. 그러나 alpine에 대한 설치 명령을 추가하여 libxslt-devel 및 libxml2-devel을 설치하십시오.

apk add --update libxml2-dev libxslt-dev

그것은 명백 할 수 있지만 일반적으로 --update필요하지 않습니다.
x-yuri
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.