[python] Mac OS X 10.9에서 Lxml을 설치할 수 없습니다

Scrapy를 설치할 수 있도록 Lxml을 설치하고 싶습니다.

오늘 Mac을 업데이트하면 lxml을 다시 설치할 수 없어 다음과 같은 오류가 발생합니다.

In file included from src/lxml/lxml.etree.c:314:
/private/tmp/pip_build_root/lxml/src/lxml/includes/etree_defs.h:9:10: fatal error: 'libxml/xmlversion.h' file not found
#include "libxml/xmlversion.h"
         ^
1 error generated.
error: command 'cc' failed with exit status 1

brew를 사용하여 libxml2 및 libxslt를 설치하려고 시도했지만 둘 다 정상적으로 설치되었지만 여전히 lxml을 설치할 수 없습니다.

마지막으로 설치했을 때 Xcode에서 개발자 도구를 활성화해야했지만 Xcode 5로 업데이트 된 이후 더 이상 해당 옵션을 제공하지 않습니다.

누구든지 내가해야 할 일을 알고 있습니까?



답변

xcode 용 명령 줄 도구를 설치하거나 업그레이드해야합니다. 터미널에서 이것을 시도하십시오 :

xcode-select --install


답변

설치 및 연결 libxml2libxslt추출을 통해 Yosemite 에서이 문제를 해결했습니다 .

brew install libxml2
brew install libxslt
brew link libxml2 --force
brew link libxslt --force

이 방법을 사용하여 문제점을 해결했지만 나중에 다시 팝업이 표시 되면 위의 네 줄 전에 이를 실행해야합니다 .

brew unlink libxml2
brew unlink libxslt

Homebrew, 특히 El Capitan에서 권한 오류가 발생하면이 문서가 도움이됩니다 . 본질적으로 OS X 버전에 관계없이 다음을 실행하십시오.

sudo chown -R $(whoami):admin /usr/local


답변

명령 행에서이를 실행하여 문제점을 해결할 수 있습니다.

 STATIC_DEPS=true pip install lxml

확실히 나를 도왔다. 문서 에 대한 설명


답변

위의 대부분의 솔루션을 시도했지만 그중 아무것도 나를 위해 일하지 않았습니다. 요세미티 10.10을 실행 중입니다. 유일한 솔루션은 이것을 터미널에 입력하는 것입니다.

sudo CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install lxml

편집 : virtualenv를 사용하는 경우 처음에는 sudo가 필요하지 않습니다.


답변

이것은 잠시 동안 나를 귀찮게하고 있습니다. 파이썬 distutils 등에 대해 내부를 충분히 알지 못하지만 여기에 포함 경로가 잘못되었습니다. python lxml 사람들이 적절한 수정을 할 수있을 때까지 나를 못 견디기 위해 다음과 같은 추악한 해킹을 만들었습니다.

sudo ln -s  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2/libxml/ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml


답변

전체적으로 설치 … OS X 10.9.2

xcode-select --install
sudo easy_install pip
sudo CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install lxml


답변

http://lxml.de/installation.html에 설치 지침 :

테스트 환경 (예 : 지속적인 통합 서버)에서 빌드 속도를 높이려면 CFLAGS 환경 변수를 설정하여 C 컴파일러 최적화를 비활성화하십시오.

CFLAGS="-O0" pip install lxml