a

Câu hỏi Cài đặt mô-đun lxml trong python


trong khi chạy tập lệnh python, tôi gặp phải lỗi này

  from lxml import etree
ImportError: No module named lxml

bây giờ tôi đã cố cài đặt lxml

sudo easy_install lmxl

nhưng nó mang lại cho tôi lỗi sau

Building lxml version 2.3.beta1.
NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available.
ERROR: /bin/sh: xslt-config: not found

** make sure the development packages of libxml2 and libxslt are installed **

Sử dụng cấu hình xây dựng của libxslt

src/lxml/lxml.etree.c:4: fatal error: Python.h: No such file or directory
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1

67
2018-01-04 20:45


gốc




Các câu trả lời:


Cứ làm đi:

sudo apt-get install python-lxml

Nếu bạn định cài đặt từ nguồn, thì câu trả lời của albertov sẽ giúp. Nhưng trừ khi có một lý do, không, chỉ cần cài đặt nó từ kho lưu trữ.


95
2018-01-04 20:57



Ý bạn là "chỉ cần làm"? - NewNameStat
Thông tin cũ bây giờ, nhưng "chỉ cần làm" có nghĩa là "không có gì khác sẽ được yêu cầu, điều này là đủ, tôi nghĩ rằng tất cả các hướng dẫn khác trong câu trả lời cho câu hỏi này là thừa" - GreenAsJade
Bạn không chắc chắn điều này chỉ xảy ra trên máy chủ Debian 7 của tôi chứ không phải máy chủ CentOS 6 của tôi? Có ai biết không? Các gói python khác nhau được cài đặt theo mặc định? - Fuzzy Analysis
Nếu bạn đang sử dụng một môi trường ảo thì đây không phải là câu trả lời đúng. - AlexLordThorsen


Bạn cần cài đặt các tệp tiêu đề của Python (gói python-dev trong debian / ubuntu) để biên dịch lxml. Cũng như libxml2, libxslt, libxml2-dev và libxslt-dev:

apt-get install python-dev libxml2 libxml2-dev libxslt-dev

48
2018-01-04 20:54



và libxml2-dev và libxslt-dev. - Lennart Regebro
libxslt dường như không được yêu cầu (ít nhất là không phải cho tôi). Vì thế, apt-get install python-dev libxml2 libxml2-dev libxslt-dev nên là đủ - Mathieu
Tôi phải làm điều này để cài đặt WeasyPrint, apt-get hướng dẫn riêng cho Debian 7 không hoạt động. - cnst
libxslt là điều cần thiết đối với tôi, thiết lập lxml sẽ không đi qua mà không có nó. - axil


Tôi đã giải quyết nó nâng cấp phiên bản lxml với:

pip install --upgrade lxml

42
2017-09-26 17:51





Nếu bạn đang chạy python3, bạn sẽ phải làm:

pip3 install lxml


13
2018-05-02 20:13





Đối với RHEL / CentOS, chạy lệnh "python --version" để tìm phiên bản Python. Ví dụ. phía dưới:

$ python --version 
  Python 2.7.12

Bây giờ hãy chạy "sudo yum search lxml" để tìm ra gói python * -lxml.

$ sudo yum search lxml
Failed to set locale, defaulting to C
Loaded plugins: priorities, update-motd, upgrade-helper
1014 packages excluded due to repository priority protections
============================================================================================================= N/S matched: lxml =============================================================================================================
python26-lxml-docs.noarch : Documentation for python-lxml
python27-lxml-docs.noarch : Documentation for python-lxml
python26-lxml.x86_64 : ElementTree-like Python bindings for libxml2 and libxslt
python27-lxml.x86_64 : ElementTree-like Python bindings for libxml2 and libxslt

Bây giờ bạn có thể chọn gói theo phiên bản Python của bạn và chạy lệnh như dưới đây:

$ sudo yum install python27-lxml.x86_64

4
2018-02-21 12:26



Cảm ơn, đã làm việc cho tôi !! - Amit