Programing

우분투에 lxml을 설치하는 방법

lottogame 2020. 2. 18. 22:35
반응형

우분투에 lxml을 설치하는 방법


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/libraries/libxslt/installation/installing_libxslt_on_ubuntu_linux.phphttp://www.techsww.com/tutorials/libraries/libxml/installation/installing_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.272.6.29libxml2차이는 없었다.

돌을 돌려 sudo apt-get install libxml2-dev놓지 않고 나는 성공적으로 해냈 지만 이것은 아무것도 변하지 않았다.


Ubuntu를 사용하고 있으므로 해당 소스 패키지를 신경 쓰지 마십시오. apt-get을 사용하여 개발 패키지를 설치하십시오.

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

그래도 이전 버전의 lxml에 모두 만족한다면 시도해 볼 수 있습니다.

apt-get install python-lxml

그리고 그것으로 끝납니다. :)


lxml이 컴파일되기 전에 lib32z1-dev를 설치해야했습니다 (Ubuntu 13.04 x64).

sudo apt-get install lib32z1-dev

또는 필요한 모든 패키지를 함께 :

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

@Pepijn이 @Druska의 답변에 대해 언급했듯이 우분투 13.04 x64에서는 lib32z1-dev를 사용할 필요가 없으며 zlib1g-dev로 충분합니다.

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

우분투 14.04를 사용하여 Vagrant에서 pip로 lxml을 설치했으며 동일한 문제가 발생했습니다. 설치된 모든 요구 사항이 있지만 동일한 오류가 반복해서 발생합니다. 내 VM은 기본적으로 메모리가 거의 없었습니다. 1024MB이면 모든 것이 잘 작동합니다.

이것을 VagrantFile에 추가하면 lxml이 올바르게 컴파일 / 설치되어야합니다 :

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

힌트를 얻은 sixhobbit 덕분 에 (Ubuntu 12.04에 lxml을 설치할 수 없음 참조 ).


우분투 14.04

sudo apt-get install python-lxml

나를 위해 일했다.


1 단계

이 명령을 사용하여 최신 Python 업데이트를 설치하십시오.

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 패키지 관리 도구를 먼저 설치하십시오 . 이 명령을 실행하십시오.

pip install lxml

의심스러운 경우 여기를 클릭하십시오


AKX에서 언급 한 패키지를 설치 한 후에도 여전히 같은 문제가있었습니다. 로 해결

apt-get install python-dev

우분투 12.04.3 LTS (Precise Pangolin)의 경우 :

apt-get install libxml2-dev libxslt1-dev

(libxslt1-dev의 "1"에 유의하십시오)

그런 다음 pip / easy_install과 함께 lxml을 설치했습니다.



@Simplans ( https://stackoverflow.com/a/37759871/417747 ) 의 포인터 홈 페이지 덕분에 여기에 많은 답변이 다소 오래되었습니다 ...

나를 위해 일한 것 (Ubuntu bionic) :

sudo apt-get install python3-lxml  

(+ sudo apt-get install libxml2-dev libxslt1-dev전에 설치했지만 여전히 요구 사항인지 확실하지 않음)


먼저 우분투 python-lxml패키지와 그 의존성을 설치하십시오 :

sudo apt-get install python-lxml

그런 다음 pipPython을 사용하여 최신 버전의 lxml로 업그레이드하십시오.

pip install lxml

Ubuntu 18.4 (Bionic Beaver)부터는 구조 형식이 훨씬 우수하므로 apt-get 대신 apt를 사용하는 것이 좋습니다.

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

그래도 이전 버전의 버전에 만족한다면 lxml시도해 볼 수 있습니다.

sudo apt install python-lxml

참고 URL : https://stackoverflow.com/questions/6504810/how-to-install-lxml-on-ubuntu

반응형