mac library installing docs python xcode macos scrapy lxml

python - library - No se puede instalar Lxml en Mac OS x 10.9



scrapy python library (22)

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


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 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.


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


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


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 docs 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 compilador, para instalar las herramientas de compilación XCode, use xcode-select --install

En primer lugar, 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.



OSX 10.9.2

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


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.


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


Tratar:

% STATIC_DEPS=true pip install lxml

O:

% STATIC_DEPS=true sudo pip install lxml

¡Funciona!


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