src / lxml / etree_defs.h: 9: 31: ข้อผิดพลาดร้ายแรง: libxml / xmlversion.h: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว


100
  1. ฉันใช้ comand ต่อไปนี้เพื่อติดตั้งแพ็คเกจในไฟล์นั้น " pip install -r requirements.txt --download-cache=~/tmp/pip-cache"

  2. Requirement.txt มี 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

ใครช่วยตรวจสอบและชี้แนะหน่อยได้ไหมว่าปัญหาคืออะไรและเพราะเหตุใดแพ็คเกจใดที่ขาดหายไปในการติดตั้ง

คำตอบ:


249

ติดตั้ง libxslt-devel & libxml2-devel โดยใช้

sudo apt-get install libxml2-dev libxslt1-dev

หลังจากติดตั้งแล้วให้ทำตามด้านบน


3
ประกาศสำหรับผู้ใช้ Ubuntu 13.04: หากคุณติดตั้ง libxml2 แล้วและอัปเกรดเป็นเวอร์ชัน 2.9.0 + dfsg1-4ubuntu4.3 คุณต้องดาวน์เกรดเป็น 2.9.0 + dfsg1-4ubuntu4.1 โดยพิมพ์คำสั่ง sudo apt-get install libxml2 = 2.9.0 + dfsg1-4ubuntu4.1 มิฉะนั้น libxml2-dev จะไม่ถูกติดตั้งเนื่องจากการพึ่งพาเวอร์ชัน
Ghassen Telmoudi

libxml2 และ libxml แตกต่างกันอย่างไร ขอบคุณ!
Honghe.Wu

5
ฉันติดตั้งไลบรารีทั้งสองแล้ว แต่ยังคงได้รับข้อผิดพลาด ออกจากระบบและเปิดใหม่ แต่ยังคงได้รับข้อผิดพลาด ไฟล์ make กำลังค้นหาใน / usr / include สำหรับ libxml แต่จะซ้อนอยู่ภายในไดเร็กทอรี libxml2 เชื่อมโยงไปยัง libxml จาก / usr / sudo ln -s libxml2/libxml libxmlรวมถึงไม่หลอกลวง
foszter

1
นี่คือคำตอบสำหรับ Debian Jessie เช่นกัน
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 debian / ubuntu)
roshan

1
@roshan: ใช่ sudo apt-get install libxml2-dev libxslt1-dev
Joel Sjögren

5
สำหรับ amazon linux sudo yum install libxslt-devel libxml2-devellแก้ไขให้ฉันขอบคุณ
Cmag

Cython เป็นลิงค์ที่ขาดหายไปสำหรับฉันหลังจากติดตั้งไลบรารี เป็นเพียง-devสำหรับแพ็คเกจบน Raspbian เท่านั้น การติดตั้ง cython เป็นเรื่องยุ่งยาก ... ฉันต้องใช้sudo pip3 install Cython --install-option="--no-cython-compile"มันเพื่อให้ทำงานได้อย่างถูกต้อง sudo pip3 install Cythonคนเดียวพังและeasy_install3ไม่ได้ทำอะไรเลย
Zoe

9

คำตอบที่เลือกนั้นถูกต้อง แต่ฉันแค่อยากจะเพิ่มสำหรับผู้ที่ใช้ Fedora: libxslt1ถูกเรียกlibxsltเมื่อใช้ dnf ดังนั้นคำสั่งคือ:

sudo dnf install libxml2-devel libxslt-devel

develสำหรับ dnf นั้นเหมือนกับdevapt-get



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.