Jak zainstalować lxml na OS X Leopard bez użycia MacPorts lub Fink?

Próbowałem tego i wpadłem na problemy kilka razy w przeszłości. Czy ktoś ma przepis na instalację lxml na OS X bez MacPorts lub Fink który zdecydowanie działa?

Najlepiej z wykonaniem 1-2-3 kroków do pobierania i budowania każdej z zależności.

Author: syntagma, 2009-08-14

16 answers

Dzięki @jessenoller na Twitterze mam odpowiedź, która odpowiada moim potrzebom - możesz skompilować lxml ze statycznymi zależnościami, dzięki czemu unikniesz mieszania się z libxml2, który jest dostarczany z OS X. oto co mi się udało:

cd /tmp
curl -O http://lxml.de/files/lxml-3.6.0.tgz
tar -xzvf lxml-3.6.0.tgz 
cd lxml-3.6.0
python setup.py build --static-deps --libxml2-version=2.7.3  --libxslt-version=1.1.24 
sudo python setup.py install
 35
Author: Simon Willison,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-03 19:42:09

To działało dla mnie (10.6.8):

sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install lxml
 32
Author: Andrei,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-26 08:44:03

Miałem świetne szczęście z Homebrew aby zainstalować libxml2 zależność:

brew install libxml2

Homebrew nie wydaje się mieć libxslt dostępne, ale jeszcze nie potrzebowałem XSLT. YMMV.

Gdy masz zależności, wtedy zwykłe metody działają dobrze:

pip install lxml

Lub

easy_install lxml
 20
Author: David Eyk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-26 01:32:08

Easy_install can work using this:

STATIC_DEPS=true easy_install 'lxml>=2.2BETA4'

Możesz następnie trzeba uruchomić, w zależności od uprawnień;

STATIC_DEPS=true sudo easy_install 'lxml>=2.2BETA4'

Zobacz http://muffinresearch.co.uk/archives/2009/03/05/install-lxml-on-osx/

 5
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-26 10:05:27

Używając homebrew (0.9.5) na el capitan (10.11.1) zadziałało dla mnie:

brew install libxml2
LD_FLAGS=-L/usr/local/opt/libxml2/lib CPPFLAGS=-I/usr/local/opt/libxml2/include/libxml2 pip install lxml
 5
Author: mizerlou,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-13 21:36:49

To działało dla mnie na 10.8.5

  1. Zainstaluj Xcode z Mac App Store
  2. Xcode -> Preferencje -> Pliki Do Pobrania - > Narzędzia Wiersza Poleceń
  3. Zainstaluj homebrew używając
  4. ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
  5. brew install libxml2
  6. sudo easy_install lxml

Obejmuje to sugestie from:

Ale chciałem skompilować to w jedną odpowiedź, zamiast zostawiać komentarze wszędzie

 3
Author: William Entriken,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:30:50

Na OS X 10.9.1 sugerowana odpowiedź powyżej błędów podczas instalacji -- należy wprowadzić następujące zmiany:

cd /tmp  
curl -o lxml-3.3.0.tgz http://lxml.de/files/lxml-3.3.0.tgz  
tar -xzvf lxml-3.3.0.tgz  
cd lxml-3.3.0  
python setup.py build --static-deps --libxml2-version=2.8.0  --libxslt-version=1.1.24  
sudo python setup.py install  
 3
Author: user785278,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-01 17:54:12

To działało u mnie w przeszłości Zainstaluj lxml na osx

 1
Author: muffinresearch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-14 11:41:46

Miałem to działa dobrze ze Snow Lepoard ale po aktualizacji do Lion musiałem symlink gcc - 4.2 do gcc. Uruchamianie sudo ENV ARCHFLAGS=" - arch i386-arch x86_64 " easy_install lxml szukał gcc - 4.2 zamiast gcc.

 1
Author: chuckles,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-21 14:06:12

Używam OSX 10.11 El Capitan i Homebrew. Użycie pip install lxml dałoby mi "fatal error:' libxml / xmlversion.H 'file not found" I "failed with error code 1" bla bla.

Zgodnie z Oficjalna strona , powinienem użyć STATIC_DEPS=true pip install lxml (Dodaj sudo przed pip, jeśli tego potrzebujesz), i to rozwiązało mój problem.

Uruchomiłem brew install libxml2 i brew install libxslt, aby zainstalować zależności podczas rozwiązywania problemów. Nie jestem pewien, czy te dwa polecenia są konieczne.

 1
Author: feilong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-17 01:31:09

Spróbuj zainstalować Cython i zainstalować ze źródła, easy_install nie powiedzie się. Nie próbowałem jeszcze na moim komputerze mac.

Jeśli wersja ports nie jest tak stara. Możesz zobaczyć zależności, z których część musiała zostać zaktualizowana dla mojej Linuksowej kompilacji lxml.

Info py25-lxml py25-lxml @2.1.5 (python, devel)

Lxml jest wiązaniem Pythonicznym dla bibliotek libxml2 i libxslt. Jest wyjątkowy w tym, że łączy szybkość i kompletność funkcji tych bibliotek z prostota natywnego API Pythona, w większości kompatybilnego, ale przewyższającego dobrze znany ElementTree API. Strona domowa: http://codespeak.net/lxml/

Zależności bibliotek: python25, libxml2, libxslt, py25-hashlib, py25-setuptools, py25-zlib Platformy: darwin Opiekunowie: [email protected] [email protected]

 0
Author: Nick Martin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-14 11:15:46
 0
Author: Ross,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-14 11:15:50

Lxml jest zawarty w repozytoriumpypm :

$ pypm install lxml
 0
Author: Sridhar Ratnakumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-21 18:02:00

Aby zainstalować z aktualnymi wersjami libxml2 i libxslt:

ARCHFLAGS="-arch i386 -arch x86_64" STATIC_DEPS=true pip install lxml

Aby zainstalować z konkretnymi wersjami bibliotek:

ARCHFLAGS="-arch i386 -arch x86_64" STATIC_DEPS=true LIBXML2_VERSION=2.7.3 LIBXSLT_VERSION=1.1.24 pip install lxml

CentOS 64 bit (trochę off pytanie, ale ciężko wygrać):

CFLAGS=-fPIC STATIC_DEPS=true pip install lxml

Lub

CFLAGS=-fPIC STATIC_DEPS=true LIBXML2_VERSION=2.7.3 LIBXSLT_VERSION=1.1.24 pip install lxml
 0
Author: m.kocikowski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-25 21:21:11

Wiele bólu było w tym dla przestarzałego 10.6.8 os X, ale tutaj chodzi o każdego, kto działa Snow Leopard!

Najpierw musisz zainstalować inną wersję libxml2 z homebrew i zainstalować --with-python. Możesz to zrobić, wpisując następujące polecenia.

brew update
brew edit libxml2

Następnie znajdź linię, która mówi "--without-python" i zmień na "--with-python".

system "./configure", "--disable-dependency-tracking",
                      "--prefix=#{prefix}",
                      "--with-python"

Teraz możesz zainstalować libxml2.

brew install libxml2

Następnie sprawdź swoją nową instalację libxml2 w domyślna lokalizacja homebrew. Chcesz znaleźć konfigurację libxml2.

TWÓJ MOŻE BYĆ INNY:

"/usr / local/Cellar / libxml2 / VERSION_ /bin/xml2-config"

Teraz użyj następującego polecenia, aby zainstalować lxml z pip przy użyciu nowo zainstalowanego libxml2 config, a NIE wersji Mac OS X.

ARCHFLAGS="-arch i386 -arch x86_64" pip install lxml --install-option="--with-xml2-config=/usr/local/Cellar/libxml2/2.9.1/bin/xml2-config"

Pracował dla mnie na moim Pythonie 10.6.8 2.6. Dzięki.

Kredyt idzie do tej strony za pokazanie mi pip --install-option ...

http://natanyellin.com/page/4/

 0
Author: ganicus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-03 00:55:04

Kompiluję go w /usr/local bez żadnych problemów.

Zainstaluj Python, libxml2, libxslt, a następnie lxml. Możesz też potrzebować setuptools.

 -5
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-14 10:33:46