2013-07-25 18 views
10

Mam problem z instalacją lxml na moim Mac OS. Podczas budowania pojawia się następujący błąd. Jest to błąd Mam przy użyciu pip install lxmlNie można zainstalować lxml w systemie MacOS 10.8.4

/private/var/folders/9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-build-khuevu/lxml/src/lxml/includes/etree_defs.h:9:10: fatal error: 'libxml/xmlversion.h' file not found

Mam zainstalowany libxml2 z wywaru:

brew install libxml2 
brew link libxml2 --force 

Jestem nowy Mac. W Ubuntu oznaczałoby to, że pakiet libxml2-dev musi być zainstalowany.

Aktualizacja: tutaj jest pip.log:

"~/.pip/pip.log" 124L, 8293C requirement_set.install(install_options, global_options, root=options.root_path) File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 1185, in install requirement.install(install_options, global_options, *args, **kwargs) File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 592, in install cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False) File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/util.py", line 662, in call_subprocess % (command_desc, proc.returncode, cwd)) InstallationError: Command /usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -c "import setuptools;file='/private/var/folders/9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-build-khuevu/lxml/setup.py';exec(compile(open(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /var/folders/9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-nsV0iT-record/install-record.txt --single-version-externally-managed failed with error code 1 in /private/var/folders/9s/s5hl5w4x7zjdjkdljw9cnsrm0000gn/T/pip-build-khuevu/lxml

Każdy pomysł? Bardzo dziękuję

+0

Czy jest komunikat o błędzie w '~/.pip/pip.log'? Po zainstalowaniu 'libxml2' z' brew', czy widzisz poprawne pliki nagłówkowe w '/ usr/include/libxml2/libxml'? Czy nagłówki 'libxml2' są zdecydowanie na twojej drodze? – ChrisP

+0

@ChrisP, zaktualizowałem moje pytanie dziennikiem. W moim komputerze nie ma folderu/usr/include. –

+0

Mam nadzieję, że pojawi się ktoś, kto wie, co jest grane. Teraz jedyną rekomendacją jest upewnienie się, że nagłówki libxml2 są dostępne poprzez PATH. Homebrew powinien instalować się do '/ usr/local', który jest domyślnie na PATH. Czy możesz znaleźć plik 'xmlversion.h' na swoim komputerze, aby upewnić się, że jest dostępny? Jeśli nadal masz problemy, polecam dystrybucję Pythona [Enthought] (http://www.enthought.com), która domyślnie zawiera wiele trudnych do zbudowania narzędzi (w tym 'lxml'). Wiem, że to nie rozwiązuje twojego dokładnego problemu. – ChrisP

Odpowiedz

21

Okazało xmlversion.h nie jest uwzględnione w ścieżce kompilacji, mimo że jest w PATH. Modyfikacja env C_INCLUDE_PATH naprawić błąd dla mnie:

C_INCLUDE_PATH=/usr/local/Cellar/libxml2/2.9.1/include/libxml2:$C_INCLUDE_PATH

+3

Po prostu wskazówka dla każdego, kto się na to natknął: Miałem ten sam problem i to była poprawka. '' 'export C_INCLUDE_PATH =/usr/local/Cellar/libxml2/2.9.1/include/libxml2: $ C_INCLUDE_PATH'''' – zgohr

+0

Otrzymałem kompilację lxml dla mnie na 10.9 i samodzielnie zainstalowaną wersję libxml2. Dzięki! – synthesizerpatel

+0

Jeśli używasz Macports: eksport C_INCLUDE_PATH =/usr/local/include/libxml2: $ C_INCLUDE_PATH – Petri

19

Jeśli używasz Mavericks z Xcode zainstalowany, można również użyć:

export C_INCLUDE_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/libxml2:$C_INCLUDE_PATH 
+0

W Xcode 6 to polecenie jest teraz: eksport C_INCLUDE_PATH =/Applications/Xcode.app // Spis treści/Deweloper/Platformy/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2: $ C_INCLUDE_PATH – Markus

+4

Dla OSX Yosemite jest teraz eksport: C_INCLUDE_PATH =/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libxml2: $ C_INCLUDE_PATH'' –

4
brew install libxml2 
brew link libxml2 --force 
export C_INCLUDE_PATH=/usr/local/Cellar/libxml2/2.9.2/include/libxml2:$C_INCLUDE_PATH 
+2

proszę , podaj wyjaśnienie do twojego kodu – arghtype

+0

Nie działa na 10.10.2 – Bryson

5

Żaden z pozostałych odpowiedzi (eksportu C_INCLUDE_PATH) pracował dla mnie. Jednak ustawienie zmiennej środowiskowej CFLAGS na wbudowany korzeń libxml2 OS X 10.10 działało jak czar.

export CFLAGS=-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libxml2 
+1

To jest ten, który pracował dla mnie 10.10.2 z powłoką Fish. Najpierw otworzyłem powłokę 'bash', następnie wyeksportowałem' export', a następnie ponownie uruchomiłem 'pip install lxml', a instalacja zakończyła się pomyślnie. Dzięki Dan! –

+1

@ NickK9 cieszę się, że mogę pomóc! –

+0

To samo, to jest jedyne, które działa na 10.10.2 –

5

Mam Python i libxml zainstalowane poprzez piwny, ten pracował dla mnie po wypróbowaniu wszystkiego powyżej:

sudo mkdir /usr/include # If /usr/include is missing 
sudo ln -s /usr/local/Cellar/libxml2/2.9.2/include/libxml2 /usr/include/libxml2 

Uwaga: Musisz sprawdzić swoje własne ścieżki do najnowszych wersji.

Ponieważ nagłówki są dostępne gdzie indziej i są poszukiwane w konkretnym katalogu (zauważonym w komendzie wywołującym clang do kompilacji) - iz jakiegoś powodu alternatywne miejsce nie jest odbierane, zrobiłem miękki link w prawo miejsce.

Powiązane problemy