2010-03-03 7 views
22

저는 ElementTree가 내가 원하는 것을하지 않을 것이라는 사실을 알게되었습니다. 나는 lxml에 대한 문서를 체크 아웃했고, 그것이 내 목적을 달성 할 것으로 보인다. lxml을 얻으려면 easy_install을 얻을 필요가있다. 그래서 here에서 다운로드하여 /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/에 넣으십시오. 그런 다음 그 폴더로 가서 sh setuptools-0.6c11-py2.6.egg을 실행했습니다.easy_install을 설치하여 lxml 설치하기

설치가 완료되었습니다. 그렇다면 easy_install의 전체 요점은 easy_install lxml을 통해 설치할 수 있다고 생각했기 때문에 나는 흥분했습니다. 그리고 lxml은 마술처럼 다운로드되고, 빌드되고, 올바르게 설치되어 가져 오기 즐거움을 준비했습니다. 그래서 나는 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.2.6 
Downloading http://codespeak.net/lxml/lxml-2.2.6.tgz 
Processing lxml-2.2.6.tgz 
Running lxml-2.2.6/setup.py -q bdist_egg --dist-dir /var/folders/49/49N0+g5QFKCm51AbzMtghE+++TI/-Tmp-/easy_install-rxbP6K/lxml-2.2.6/egg-dist-tmp-fjakR0 
Building lxml version 2.2.6. 
NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available. 
Using build configuration of libxslt 1.1.12 
Building against libxml2/libxslt in the following directory: /usr/lib 
unable to execute gcc-4.0: No such file or directory 
error: Setup script exited with error: command 'gcc-4.0' failed with exit status 1 
+1

(코드 편집기 문제가 있음) 코드 블록을 만들기 위해 4 개의 공백을 들여 쓰거나 강조 표시 한 상태에서 편집기에서 "01010"버튼을 클릭하십시오. –

답변

23

먼저 우리는 더 이상 easy_install을 사용하지 않습니다. pip을 사용합니다. 대신 pip를 사용하십시오.

문제가 발생하면 GCC가 누락되었습니다. OS X에서 Xcode 명령 줄 도구는 GCC뿐만 아니라 OS X에서 소프트웨어를 빌드하는 데 필요한 많은 다른 프로그램을 제공합니다. OS X 10.9 (매버릭스) 이상에서는 App Store를 통해 Xcode를 설치하거나 Xcode 만 설치하십시오

xcode-select --install 

와 명령 행 도구 자세한 내용은 Apple Developer FAQ를 참조하거나 "설치 Xcode의 명령 행 도구"에 대한 웹을 검색하십시오.

이전 버전의 OS X의 경우 downloads page of the Apple Developer website에서 Xcode 명령 행 도구를 사용할 수 있습니다 (무료 등록 필요).

일단 GCC를 설치하면 시스템에 C/C++ 라이브러리 종속성이 설치되어 있지 않으면 컴파일하는 동안 여전히 오류가 발생할 수 있습니다. OS X에서는 Homebrew 프로젝트가 그러한 종속성을 설치하고 관리하는 가장 쉬운 방법입니다. 다음 아마도 귀하의 경우 더 문제를 일으키는

brew update 
brew install libxml2 libxslt 

발급, 시스템에 브루를 설치 브루 웹 사이트의 지시에 따라, 당신은 /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/에서 다운로드 setuptools에 배치. 이 위치에 파일을 다운로드하지 마십시오. 대신 파일을 홈 디렉토리 나 보통 Downloads 디렉토리에 다운로드하는 것이 좋습니다. 다운로드 한 후에는 sh setuptools-X.Y.Z.egg을 실행하고 적절한 site-packages에 올바르게 설치하고 실행 파일에 easy_install을 입력하십시오.

+0

+1은 우리가 pip를 사용해야 함을 지적합니다. 나는 몰랐다. 패키지가 제대로 작동하면 좋습니다. – Muhd

+2

+1 위대한 그래픽 – Purrell

+0

위의 pip 링크가 끊어졌습니다. 나는 이것이 다음과 같을 것이라고 생각한다 : https://pip.pypa.io/en/latest/ –

2

lxml은 C 컴파일러에 액세스해야하는 확장 프로그램을 작성하려고합니다. 이를 위해서는 gcc이 필요합니다. sudo apt-get install build-essential을 실행 해보고이 문제를 해결해야합니다.

+0

sudo apt-get install gcc sudo : apt-get : 명령을 찾을 수 없습니다. – Alex

+1

어떤 OS/배포판입니까? –

+0

OSX 10.5.8, Python 2.6 – Alex

13

당신이 libxml2를-DEV 및 libxslt1-DEV 그런 다음 설치가 제대로 구축해야

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

이 설치되어 있는지 확인합니다.

+0

이것을 지적 해 주셔서 감사합니다. – Purrell

+0

고마워요. 그것은 일했다! –

10

시도 :

gcc gcc-c++ python-devel libxml2 libxml2-dev libxslt libxslt-dev 

당신은 몇 가지 변형 사용하여 설치할 수 있습니다 : 는 sudo를 apt-get을 다음의 모든 패키지가 먼저 시스템에 설치되어 있는지 sudo apt-get install python-lxml

+0

Python3에서 "apt-get install python3-lxml"을 사용하십시오. – wheleph

+0

pip를 사용하는 것이 더 좋습니다. 패키지 관리자보다 최신 버전을 제공합니다. 조만간 당신이 그것을 사용하게되어 기뻐할 것입니다. – mlissner

2

것이 확인 install sudo yum install

위의 내용을 모두 성공적으로 설치 한 후에는 다음을 실행해야합니다.

sudo pip install lxml