J'ai essayé cela et rencontré des problèmes plusieurs fois dans le passé. Quelqu'un at-il une recette pour installer LXML sur OS X sans MacPorts ou Fink qui fonctionne vraiment?
De préférence avec les étapes complètes 1-2-3 pour télécharger et construire chacune des dépendances.
Grâce à @jessenoller on Twitter, ma réponse correspond à mes besoins: vous pouvez compiler LXML avec des dépendances statiques, évitant ainsi de jouer avec la libxml2 fournie avec OS X. Voici ce qui a fonctionné pour moi:
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
Cela a fonctionné pour moi (10.6.8):
Sudo env ARCHFLAGS="-Arch i386 -Arch x86_64" easy_install lxml
J'ai eu une excellente chance avec Homebrew pour installer la dépendance libxml2
:
brew install libxml2
Il semble que __ Homebrew ne dispose pas de libxslt
, mais je n'ai pas encore eu besoin de XSLT. YMMV.
Une fois que vous avez la ou les dépendances, les méthodes habituelles fonctionnent parfaitement:
pip install lxml
ou
easy_install lxml
Easy_install can fonctionne en utilisant ceci:
STATIC_DEPS = true easy_install 'lxml> = 2.2beta4'
vous pouvez then / besoin d'exécuter, en fonction des autorisations;
STATIC_DEPS = true Sudo easy_install 'lxml> = 2.2beta4'
voir http://muffinresearch.co.uk/archives/2009/03/05/install-lxml-on-osx/
en utilisant homebrew (0.9.5) sur el capitan (10.11.1), ce qui suit a fonctionné pour moi:
brew install libxml2
LD_FLAGS=-L/usr/local/opt/libxml2/lib CPPFLAGS=-I/usr/local/opt/libxml2/include/libxml2 pip install lxml
Sous OS X 10.9.1 la réponse suggérée ci-dessus présente des erreurs lors de l'installation - les modifications suivantes ont dû être apportées:
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
Cela a fonctionné pour moi le 10.8.5
Ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
brew install libxml2
Sudo easy_install lxml
Cela comprend des suggestions de:
Mais je voulais le compiler en une seule réponse plutôt que de laisser des commentaires partout
J'utilise OSX 10.11 El Capitan et Homebrew. Utiliser pip install lxml
me donnerait une "erreur fatale: fichier 'libxml/xmlversion.h' introuvable" et "échec avec le code d'erreur 1" blah blah.
Selon le site officiel , je devrais utiliser STATIC_DEPS=true pip install lxml
(ajoutez Sudo avant pip si vous en avez besoin), et cela a résolu mon problème.
J'ai exécuté brew install libxml2
et brew install libxslt
pour installer les dépendances lors du dépannage. Je ne suis pas sûr si ces deux commandes sont nécessaires.
Je fonctionnais très bien avec Snow Lepoard, mais après être passé à Lion, je devais faire un lien symbolique entre gcc-4.2 et gcc. Lancer Sudo env ARCHFLAGS = "- Archiver i386 - Archiver x86_64" easy_install lxml recherchait gcc-4.2 au lieu de gcc.
Cela a fonctionné pour moi dans le passé installer lxml sur osx
Pour installer avec les versions à jour de libxml2 et libxslt:
ARCHFLAGS="-Arch i386 -Arch x86_64" STATIC_DEPS=true pip install lxml
Pour installer avec des versions spécifiques de bibliothèques:
ARCHFLAGS="-Arch i386 -Arch x86_64" STATIC_DEPS=true LIBXML2_VERSION=2.7.3 LIBXSLT_VERSION=1.1.24 pip install lxml
CentOS 64 bits (question un peu décalée, mais durement gagnée):
CFLAGS=-fPIC STATIC_DEPS=true pip install lxml
ou
CFLAGS=-fPIC STATIC_DEPS=true LIBXML2_VERSION=2.7.3 LIBXSLT_VERSION=1.1.24 pip install lxml
Essayez d’installer Cython et à partir du code source, easy_install échouera. Je n'ai pas encore essayé mon mac.
Faute de quoi, la version des ports n’est pas si ancienne. Vous pouvez voir les dépendances, dont certaines ont dû être mises à jour pour ma version Linux de lxml.
info py25-lxml py25-lxml @ 2.1.5 (python, devel)
lxml est une liaison Pythonic pour les bibliothèques libxml2 et libxslt. Il est unique En ce qu'il combine la vitesse et l'exhaustivité des fonctionnalités de ces bibliothèques avec La simplicité d'une API Python native, généralement compatible mais supérieure à l'API ElementTree bien connue . . Page d'accueil: http://codespeak.net/lxml/
Dépendances de la bibliothèque: python25, libxml2, libxslt, py25-hashlib, py25-setuptools, Py25-zlib Plateformes: darwin Mainteneurs: [email protected] [email protected]
C'est tout à fait à jour - mars 2009: http://lsimons.wordpress.com/2008/08/31/how-to-install-lxml-python-module-on-mac-os-105-leopard/
Une version obsolète de la version 10.6.8 os x a été très pénible, mais les utilisateurs de Snow Leopard sont désormais pris en charge!
Vous devez d’abord installer une version différente de libxml2 de homebrew et installer --with-python. Vous pouvez le faire en tapant les commandes suivantes.
brew update
brew edit libxml2
Recherchez ensuite la ligne "--without-python" et remplacez-la par "--with-python".
system "./configure", "--disable-dependency-tracking",
"--prefix=#{prefix}",
"--with-python"
Vous pouvez maintenant installer libxml2.
brew install libxml2
Vérifiez ensuite votre nouvelle installation de libxml2 à l’emplacement homebrew par défaut. Vous voulez trouver la config libxml2.
LE VÔTRE PEUT ÊTRE DIFFÉRENT:
"/ usr/local/Cellar/libxml2/VERSION_/bin/xml2-config"
Maintenant, utilisez la commande suivante pour installer lxml avec pip en utilisant la configuration libxml2 nouvellement installée et non la version 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"
Travaillé pour moi sur mon 10.6.8 Python 2.6. Merci.
Le crédit va à cette page pour me montrer pip --install-option ...