No se puede instalar Lxml en Mac OS x 10.9

Quiero instalar Lxml para poder instalar Scrapy.

Cuando actualicé mi Mac hoy, no me permitía reinstalar lxml, aparece el siguiente error:

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 

He intentado usar brew para instalar libxml2 y libxslt, ambos bien instalados pero todavía no puedo instalar lxml.

La última vez que estuve instalando necesitaba habilitar las herramientas de desarrollador en Xcode pero desde su actualización a Xcode 5 ya no me da esa opción.

¿Alguien sabe lo que necesito hacer?

Debe instalar o actualizar la herramienta de línea de comandos para xcode. Intenta esto en una terminal:

 xcode-select --install 

libxml2 este problema en Yosemite instalando y enlazando libxml2 y libxslt través de brew:

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

Si resolvió el problema con este método pero vuelve a aparecer en un momento posterior, es posible que deba ejecutar esto antes de las cuatro líneas anteriores:

 brew unlink libxml2 brew unlink libxslt 

Si tiene errores de permiso con Homebrew, especialmente en El Capitán, este es un documento útil . En esencia, independientemente de la versión de OS X, intente ejecutar:

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

Puede resolver su problema ejecutando esto en la línea de comandos:

  STATIC_DEPS=true pip install lxml 

Seguro que me ayudó. Explicaciones en documentos

Probé la mayoría de las soluciones anteriores, pero ninguna funcionó para mí. Estoy ejecutando Yosemite 10.10, la única solución que funcionó para mí fue escribir esto en el terminal:

 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 

EDITAR: Si está usando virtualenv, el sudo al principio no es necesario.

Esto me ha estado molestando también por un tiempo. No conozco lo suficiente sobre los distutils de Python, etc., pero el camino de inclusión aquí es incorrecto. Hice el siguiente truco feo para detenerme hasta que la gente de Python lxml pueda hacer la corrección adecuada.

 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 

Instalando globalmente … 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 

Las instrucciones de instalación en http://lxml.de/installation.html explican:

Para acelerar la comstackción en entornos de prueba, por ejemplo, en un servidor de integración continua, deshabilite las optimizaciones del comstackdor de C configurando la variable de entorno CFLAGS:

 CFLAGS="-O0" pip install lxml 

Nada de lo anterior funcionó para mí en 10.9.2, ya que la comstackción se rescata con el siguiente error:

 clang: error: unknown argument: '-mno-fused-madd' 

Lo que realmente lleva a la solución más limpia (ver más detalles en [1]):

 export CFLAGS=-Qunused-arguments export CPPFLAGS=-Qunused-arguments pip install lxml 

o siguiendo si instala globalmente

 sudo pip install lxml 

[1] error de clang: argumento desconocido: ‘-mno-fused-madd’ (falla de instalación del paquete python)

 xcode-select --install sudo easy_install pip sudo pip install lxml 

Resolví este problema en Yosemite ejecutando los siguientes comandos:

 xcode-select install #this may take several minutes. pip install lxml 

Con homebrew, libxml2 está oculto para no interferir con el sistema libxml2, por lo que se debe ayudar un poco a pip para poder encontrarlo.

Con bash:

 LDFLAGS=-L`brew --prefix libxml2`/lib CPPFLAGS=-I`brew --prefix libxml2`/include/libxml2 pip install --user lxml 

Con pescado:

 env LDFLAGS=-L(brew --prefix libxml2)/lib CPPFLAGS=-I(brew --prefix libxml2)/include/libxml2 pip install --user lxml 

OSX 10.9.2

 sudo env ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future STATIC_DEPS=true pip install lxml 

Intenté todas las respuestas en esta página, ninguna de ellas funcionó para mí. Estoy ejecutando OS X versión 10.9.2

Pero esto definitivamente funciona … como un encanto:

ARCHFLAGS = -Wno-error = no utilizado-comando-línea-argumento-duro-error-en-futuro pip instalar lxml

Desafortunadamente, xcode-select --install no me funcionó porque ya tenía la última versión.

Es muy extraño, pero resolví el problema abriendo XCode y aceptando los Términos y condiciones. La ejecución de pip install lxml no devolvió ningún error después.

Después de una instalación exitosa desde pip (lxml 3.6.4), estaba obteniendo un error al importar el módulo lxml.etree.

Estuve buscando infinitamente para instalar esto como un requisito para scrapy, e intenté todas las opciones, pero finalmente esto me funcionó (mac osx 10.11 python 2.7):

 $ STATIC_DEPS=true sudo easy_install-2.7 "lxml==2.3.5" 

La versión anterior de lxml parece funcionar con el módulo etree.

Pip a menudo puede ignorar la versión especificada de un paquete, por ejemplo, cuando tiene la versión más reciente en el caché de pip, por lo tanto, la instalación easy_install . La opción '-2.7' es para la versión de python, omita esto si está instalando para python 3.x.

En mi caso, debo cerrar Kaspersky Antivirus antes de instalar lxml mediante:

 pip install lxml 

Estoy usando OSX 10.9.2 y me sale el mismo error.

La instalación de las herramientas de línea de comandos de XCode no ayuda para esta versión particular de OSX.

Creo que un mejor enfoque para solucionar este problema es instalar con el siguiente comando:

 $ CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 pip install lxml 

Esto es similar a la corrección de jdkoftinoff, pero no altera su sistema de forma permanente.

Me encontré con la misma pregunta y, después de días de trabajo, resolví este problema en mi OS X 10.9.4, con Python 3.4.1.

Aquí está mi solución,

De acuerdo con la instalación de lxml desde lxml.de,

Un macport de lxml está disponible. Intente algo como el puerto de instalación py25-lxml

Si no tiene MacPort, instálelo desde MacPort.org . Es bastante facil También puede necesitar un comstackdor, para instalar las herramientas de comstackción XCode, use xcode-select --install

Primero, actualicé mi puerto a la última versión a través de sudo port selfupdate ,

Luego simplemente sudo port install libxml2 y varios minutos después debería ver que libxml2 se instaló correctamente. Es probable que también necesite libxslt para instalar lxml. Para instalar libxslt, use: sudo port install libxslt .

Ahora, simplemente escriba pip install lxml , debería funcionar bien.

antes de comstackr, agregue la ruta a xmlversion.h en su entorno.

 $ set INCLUDE=$INCLUDE:/private/tmp/pip_build_root/lxml/src/lxml/ 

Pero asegúrese de que la ruta que he proporcionado tenga el archivo xmlversion.h ubicado dentro. Entonces,

 $ python setup.py install 

pip no pip para mi Fui a https://pypi.python.org/pypi/lxml/2.3 y descargué el archivo .egg de macosx:

https://pypi.python.org/packages/2.7/l/lxml/lxml-2.3-py2.7-macosx-10.6-intel.egg#md5=52322e4698d68800c6b6aedb0dbe5f34

Luego usó la línea de comandos easy_install para instalar el archivo .egg .

Este post se vincula a una solución que funcionó para mí Python3, lxml y “Symbol not found: _lzma_auto_decoder” en Mac OS X 10.9

hth

Tratar:

 % STATIC_DEPS=true pip install lxml 

O:

 % STATIC_DEPS=true sudo pip install lxml 

¡Funciona!