python - mac - scrapy ruby




No se puede instalar Lxml en Mac OS x 10.9 (15)

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

Quiero instalar Lxml para poder instalar Scrapy.

Cuando actualicé mi Mac hoy, no me permitía volver a instalar 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

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

Estuve buscando interminablemente para instalar esto como un requisito para scrapy, e intenté todas las opciones, pero finalmente esto funcionó para mí (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

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

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.


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


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

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

CFLAGS="-O0" pip install lxml


OSX 10.9.2

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

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

 STATIC_DEPS=true pip install lxml

Seguro que me ayudó. Explicaciones en docs


Resolví este problema en Yosemite ejecutando los siguientes comandos:

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

antes de compilar, 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

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

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






lxml