Ubuntu पर lxml कैसे स्थापित करें


442

मुझे Ubuntu 11 पर easy_install के साथ lxml स्थापित करने में कठिनाई हो रही है।

जब मैं टाइप करता $ easy_install lxmlहूं तो मुझे :

Searching for lxml
Reading http://pypi.python.org/simple/lxml/
Reading http://codespeak.net/lxml
Best match: lxml 2.3
Downloading http://lxml.de/files/lxml-2.3.tgz
Processing lxml-2.3.tgz
Running lxml-2.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-7UdQOZ/lxml-2.3/egg-dist-tmp-GacQGy
Building lxml version 2.3.
Building without Cython.
ERROR: /bin/sh: xslt-config: not found

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

Using build configuration of libxslt 
In file included from src/lxml/lxml.etree.c:227:0:
src/lxml/etree_defs.h:9:31: fatal error: libxml/xmlversion.h: No such file or directory
compilation terminated.

ऐसा नहीं है कि लगता है libxsltया libxml2स्थापित नहीं है। मैंने http://www.techsww.com/tutorials/lbooks/libxslt/installation/installing_libxslt_on_ubuntu_linux.php और http://www.techsww.com/tutorials//books/libxml/installation/libxml_on_ubuntu_linux पर निर्देशों का पालन करने की कोशिश की है कोई सफलता नहीं के साथ php

अगर मैं कोशिश wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.6.27.tar.gzकरूँ तो मुझे मिल जाएगा

<successful connection info>
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /libxml2 ... done.
==> SIZE libxml2-sources-2.6.27.tar.gz ... done.
==> PASV ... done.    ==> RETR libxml2-sources-2.6.27.tar.gz ... 
No such file `libxml2-sources-2.6.27.tar.gz'.

अगर मैं दूसरे को पहले कोशिश करूं, तो मैं इसके लिए तैयार ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2हो जाऊंगा

checking for libxml libraries >= 2.6.27... configure: error: Could not find libxml2 anywhere, check ftp://xmlsoft.org/.

मैं दोनों संस्करणों की कोशिश की है 2.6.27और 2.6.29का libxml2कोई अंतर नहीं है।

कोई कसर नहीं छोड़ी, मैंने सफलतापूर्वक किया है sudo apt-get install libxml2-dev, लेकिन यह कुछ भी नहीं बदलता है।

जवाबों:


950

चूंकि आप उबंटू में हैं, इसलिए उन स्रोत पैकेजों से परेशान न हों। केवल apt-get का उपयोग करके उन विकास पैकेजों को स्थापित करें।

apt-get install libxml2-dev libxslt1-dev python-dev

यदि आप पूरी तरह से पुराने lxml के पुराने संस्करण से खुश हैं, तो आप कोशिश कर सकते हैं

apt-get install python-lxml

और इसके साथ किया जाए। :)


51
यह उत्तर lxml स्थापित निर्देशों में जोड़ा जाना चाहिए :) धन्यवाद +1
बोअज़

43
दौड़ने के बाद apt-get install libxml2-dev libxslt-devआप बसeasy_install lxml
बॉब जेन्सन

11
नवीनतम ubuntu जैसी डिस्ट्रोस में, आपको libxslt1-dev को libxslt-dev के बजाय स्थापित करना होगा
जोस ए।

21
कम से कम Ubuntu 14.04 पर आपको पैकेज भी स्थापित करना होगा zlib1g-dev
क्रिश्चियन बेरेन्ट

3
Ubuntu 16.04 पर भी zlib1g-devआवश्यक है। इसके बिना मुझे त्रुटि मिली /usr/bin/ld: cannot find -lz
जेबा

111

Lxml संकलन (Ubuntu 13.04 x64) करने से पहले मुझे lib32z1-dev भी स्थापित करना पड़ा।

sudo apt-get install lib32z1-dev

या सभी आवश्यक पैकेज एक साथ:

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

9
+1। अन्य सभी उल्लेखित पैकेजों को स्थापित करने के बाद भी इस पैकेज की आवश्यकता थी।
जयेश भूत

1
यह भी मैं 13.04 पर इस जरूरत
mwjackson

3
यह एक lib32 पैकेज के शीर्ष लेख की आवश्यकता क्यों है ? शायद zlib1g-dev भी काम करेगा?
पेपिजन

1
zlib1g-dev को ubuntu 13.04
Zelo

6
14.04 64 बिट पर भी आवश्यक।
क्रिस्टिन Kristrn Sigurðsson

43

@Pepijn ने @Druska के उत्तर पर, ubuntu 13.04 x64 पर टिप्पणी की, lib32z1-dev का उपयोग करने की कोई आवश्यकता नहीं है, zlib1g-dev पर्याप्त है:

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

16

मैंने Vagrant में पाइप के साथ lxml स्थापित किया, उबंटू 14.04 का उपयोग किया और वही समस्या थी। हालांकि सभी आवश्यकताएं जहां स्थापित हैं, मुझे बार-बार वही त्रुटि मिली। पता चला, मेरे VM को डिफ़ॉल्ट रूप से बहुत कम मेमोरी थी। 1024 MB के साथ सब कुछ ठीक काम करता है।

इसे अपने VagrantFile में जोड़ें और lxml को ठीक से संकलित / स्थापित करना चाहिए:

config.vm.provider "virtualbox" do |vb|
  vb.memory = 1024
end

संकेत के लिए सिक्स्थोबाइट के लिए धन्यवाद (देखें: उबंटू 12.04 पर lxml स्थापित नहीं कर सकता )।


इसने मेरे लिए काम किया। धन्यवाद। यह कहा कि संकलन 4 की स्थिति के साथ विफल हो गया, मामले में जो किसी और की मदद करता है।
कुर्टिस

इस जवाब का ओपी के सवाल से कोई लेना-देना नहीं है
कोरी गोल्डबर्ग

10

उबंटू 14.04 के लिए

sudo apt-get install python-lxml

मेरे लिए काम किया।


7
वैसे यह बुरी खबर है। मैंने इस सवाल से 1000 से अधिक प्रतिनिधि प्राप्त किए हैं, अगर उन्होंने तय किया है कि यह विचार प्राप्त करना बंद कर देगा ... Wil
एरिक विल्सन

9

चरण 1

इस आदेश का उपयोग करके नवीनतम अजगर अपडेट स्थापित करें।

sudo apt-get install python-dev

चरण 2

पहले निर्भरता libxml2 संस्करण 2.7.0 या बाद में जोड़ें

sudo apt-get install libxml2-dev

चरण 3

दूसरा निर्भरता libxslt संस्करण 1.1.23 या बाद में जोड़ें

sudo apt-get install libxslt1-dev

चरण 4

पहले पाइप पैकेज प्रबंधन उपकरण स्थापित करें । और इस कमांड को चलाएं।

pip install lxml

यदि आपको कोई संदेह है तो यहां क्लिक करें


8

AKX द्वारा उल्लिखित संकुल को स्थापित करने के बाद भी मुझे वही समस्या थी। के साथ हल किया

apt-get install python-dev

6

Ubuntu 12.04.3 LTS (सटीक पैंगोलिन) के लिए मुझे क्या करना था:

apt-get install libxml2-dev libxslt1-dev

(Libxslt1-dev में "1" पर ध्यान दें)

फिर मैंने पाइप / easy_install से lxml स्थापित किया।


2

उबंटू 18.4 (बायोनिक बीवर) से, उपयुक्त के बजाय उपयुक्त का उपयोग करना उचित है क्योंकि इसमें बहुत अधिक संरचनात्मक रूप है।

sudo apt install libxml2-dev libxslt1-dev python-dev

यदि आप lxmlपूरी तरह से पुराने संस्करण के साथ खुश हैं , तो आप कोशिश कर सकते हैं

sudo apt install python-lxml

1

यहाँ कई उत्तर पुराने हैं,
@Simplans ( https://stackoverflow.com/a/37759871/417747 ) और होम पेज से सूचक के लिए धन्यवाद ...

मेरे लिए क्या काम किया (उबंटू बायोनिक):

sudo apt-get install python3-lxml  

(+ sudo apt-get install libxml2-dev libxslt1-devमैंने इसे पहले स्थापित किया था, लेकिन निश्चित नहीं है कि यह आवश्यकता अभी भी है)


1
हाँ, एक पुराने प्रश्न पर पुराने उत्तर। मेरा मतलब है, मैं उबंटू 11 पर था जब मैंने पूछा!
एरिक विल्सन

हां, मुझे संदेह है कि आप इसे यहां भी पूछ सकेंगे (इसे उबंटू आदि में स्थानांतरित कर दिया जाएगा) लेकिन यह अभी भी बहुत सारे वेब खोज को नष्ट कर रहा है। और संदेह है कि कोई भी अभी भी Ubuntu 11 :) का उपयोग कर रहा है। और फिर उस पुराने लिनक्स संस्करण और पैकेज में संगतता, आशा है कि एक दिन में सुधार होगा।
एनएसगागा-ज्यादातर-निष्क्रिय

0

पहले उबंटू का python-lxmlपैकेज और उसकी निर्भरताएँ स्थापित करें :

sudo apt-get install python-lxml

फिर pipपायथन के लिए lxml के नवीनतम संस्करण में अपग्रेड करने के लिए उपयोग करें:

pip install lxml

कोड केवल जवाब पर फेंक रहे हैं। कुछ स्पष्टीकरण जोड़ें
मानोस निकोलाइडिस

हालांकि यह उत्तर सही हो सकता है, कृपया कुछ स्पष्टीकरण जोड़ें। अंतर्निहित तर्क को लागू करना केवल कोड देने से अधिक महत्वपूर्ण है, क्योंकि यह ओपी और अन्य पाठकों को इसे और इसी तरह के मुद्दों को स्वयं ठीक करने में मदद करता है।
कोडमाउस92

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