अजगर में lxml मॉड्यूल स्थापित करना


88

एक पायथन स्क्रिप्ट चलाते समय, मुझे यह त्रुटि मिली

  from lxml import etree
ImportError: No module named lxml

अब मैंने lxml स्थापित करने की कोशिश की

sudo easy_install lmxl

लेकिन यह मुझे निम्नलिखित त्रुटि देता है

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 **

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

जवाबों:


106

बस करो:

sudo apt-get install python-lxml

पायथन 2 के लिए (जैसे, इंकस्केप द्वारा आवश्यक):

sudo apt-get install python2-lxml

यदि आप स्रोत से स्थापित करने की योजना बना रहे हैं, तो अल्बर्टोव का जवाब मदद करेगा। लेकिन जब तक कोई कारण न हो, बस रिपॉजिटरी से इसे इंस्टॉल न करें।


6
यदि आप आभासी वातावरण का उपयोग कर रहे हैं तो यह सही उत्तर नहीं है।
एलेक्सलॉर्ड टॉरसेन

71

मैंने इसे lxml संस्करण के उन्नयन के साथ हल किया:

pip install --upgrade lxml

49

आपको lxml संकलन करने के लिए पायथन की हेडर फाइलें (डेबियन / ubuntu में अजगर-देव पैकेज) को स्थापित करने की आवश्यकता है। साथ ही साथ libxml2, libxslt, libxml2-dev, और libxslt-dev:

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

2
और libxml2-dev और libxslt-dev।
लेन्नर्ट रेगेब्र

1
libxslt की आवश्यकता प्रतीत नहीं होती है (यह मेरे लिए नहीं था, कम से कम)। इसलिए, apt-get install python-dev libxml2 libxml2-dev libxslt-devपर्याप्त होना चाहिए
मैथ्यू

मुझे WeasyPrint को स्थापित करने के लिए ऐसा करना पड़ा, apt-getडेबियन 7 के लिए उनके निर्देशों ने अकेले काम नहीं किया।
cnst

1
libxslt मेरे लिए आवश्यक था, lxml सेटअप इसके बिना नहीं चलेगा।
axil

32

यदि आप python3 चला रहे हैं, तो आपको करना होगा:

pip3 install lxml


इसी से मेरा काम बना है! मैं python3 का उपयोग कर रहा था और के माध्यम से अजगर के पिछले संस्करण के लिए पुस्तकालयों को स्थापित कर रहा था pip। के लिए python3, हमें उपयोग करना चाहिए pip3
विक्टर

5

आरएचईएल / सेंटोस के लिए, पायथन संस्करण का पता लगाने के लिए "पायथन --version" कमांड चलाएं। जैसे नीचे:

$ python --version 
  Python 2.7.12

अब अजगर * -lxml पैकेज का पता लगाने के लिए "sudo yum search 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

अब आप अपने पायथन संस्करण के अनुसार पैकेज चुन सकते हैं और नीचे की तरह कमांड चला सकते हैं:

$ sudo yum install python27-lxml.x86_64

मैं विंडोज पर हूँ। कोई उपाय?
पॉल

"python2.7.exe -m pip install --upgrade lxml" का उपयोग करें
ओएनआई

1

अजगर 3 के लिए इसने मेरे लिए काम किया

sudo apt-get install python3-lxml

0

यदि आप अल्पाइन आधारित छवि पर इस मुद्दे का सामना कर रहे हैं, तो यह कोशिश करें:

apk add --update --no-cache g++ gcc libxml2-dev libxslt-dev python-dev libffi-dev openssl-dev make

// पाइप स्थापित -r आवश्यकताओं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.