우분투에 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.php 및 http://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.27
과 2.6.29
의 libxml2
차이는 없었다.
돌을 돌려 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
그런 다음 pip
Python을 사용하여 최신 버전의 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
'Programing' 카테고리의 다른 글
변경 이벤트에서 라디오를 사용하는 방법은 무엇입니까? (0) | 2020.02.18 |
---|---|
바이너리 파일과의 Git 충돌 해결 (0) | 2020.02.18 |
node.js에서 파일을 복사하는 가장 빠른 방법 (0) | 2020.02.18 |
ReactJS- "setState"가 호출 될 때마다 렌더링이 호출됩니까? (0) | 2020.02.18 |
MySQL은 600K 행에서 10 개의 무작위 행을 빠르게 선택합니다. (0) | 2020.02.18 |