src / lxml / etree_defs.h: 9: 31: lỗi nghiêm trọng: libxml / xmlversion.h: Không có tệp hoặc thư mục như vậy


99
  1. Tôi đang chạy comand sau để cài đặt các gói trong tệp đó " pip install -r requirements.txt --download-cache=~/tmp/pip-cache".

  2. request.txt chứa pacakages như

# 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

trong khi cài đặt gói "lxml", tôi nhận được lỗi sau

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

Bất cứ ai có thể kiểm tra và hướng dẫn tôi những gì sẽ là vấn đề và tại sao? Bất kỳ gói nào bị thiếu để cài đặt.

Câu trả lời:


246

Cài đặt libxslt-devel & libxml2-devel bằng

sudo apt-get install libxml2-dev libxslt1-dev

Sau khi cài đặt theo cách trên


3
Lưu ý cho người dùng Ubuntu 13.04: nếu bạn đã cài đặt libxml2 và nâng cấp lên phiên bản 2.9.0 + dfsg1-4ubuntu4.3, bạn cần hạ cấp xuống 2.9.0 + dfsg1-4ubuntu4.1 bằng cách gõ lệnh sudo apt-get install libxml2 = 2.9.0 + dfsg1-4ubuntu4.1 nếu không libxml2-dev sẽ không được cài đặt do phụ thuộc vào phiên bản.
Ghassen Telmoudi 17/09/13

Sự khác nhau giữa libxml2 và libxml là gì? Cảm ơn!
Honghe.Wu

5
Tôi đã cài đặt hai thư viện và vẫn gặp lỗi. Đăng xuất và bật lại, và vẫn gặp lỗi. Tệp tạo đang tìm kiếm trong / usr / include cho libxml, nhưng tệp đó được lồng bên trong thư mục libxml2. Liên kết đến libxml từ / usr / include đã thực hiện một mẹo nhỏ sudo ln -s libxml2/libxml libxml.
foszter

1
đây là câu trả lời dành cho Debian Jessie quá
Anentropic

3
Đối với những người sử dụng Alpine Linux (có thể là trong Docker), lệnh này là: apk add cài đặt libxml2-dev libxslt-dev
ivarec

51
  1. Cài đặt Cython bằng

    easy_install Cython

  2. Sau khi hoàn thành cython, hãy cài đặt libxslt-devel & libxml2-devel bằng

    yum install libxslt-devel libxml2-devel

Điều này đã làm việc cho tôi.


3
Đây thực sự là câu trả lời chính xác (sử dụng sudo apt-get debian / ubuntu)
roshan

1
@roshan: đúng, sudo apt-get install libxml2-dev libxslt1-dev
Joel Sjogren

5
cho amazon linux, đã sudo yum install libxslt-devel libxml2-devellgiải quyết cho tôi, thx
Cmag

Cython là liên kết bị thiếu đối với tôi, sau khi cài đặt các thư viện. Nó chỉ -devdành cho các gói trên Raspbian. Cài đặt cython rất phức tạp ... Cuối cùng thì tôi phải sử dụng sudo pip3 install Cython --install-option="--no-cython-compile"nó để nó hoạt động bình thường. sudo pip3 install Cythonmình bị rơi, và easy_install3đã không làm bất cứ điều gì
Zoe

9

Câu trả lời đã chọn là đúng nhưng tôi chỉ muốn thêm cho những người sử dụng Fedora: libxslt1được gọi libxsltkhi sử dụng dnf. Vì vậy, lệnh là:

sudo dnf install libxml2-devel libxslt-devel

develđối với dnf cũng giống như devđối với apt-get.


6

không có quyền sudo, bạn có thể cài đặt lxml bằng:

STATIC_DEPS=true pip install lxml

Như đã đề cập trong tài liệu lxml


5

Câu trả lời được chứng nhận hoạt động hoàn hảo. Nhưng chỉ cần thêm lệnh cài đặt cho alpine để cài đặt libxslt-devel & libxml2-devel

apk add --update libxml2-dev libxslt-dev

Điều đó có thể là hiển nhiên, nhưng nói chung --updatelà không cần thiết.
x-yuri
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.