Quiero instalar Lxml para poder instalar Scrapy.
Cuando actualicé mi Mac hoy, no me permitió reinstalar lxml, recibo 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 instalé necesitaba habilitar las herramientas de desarrollador en Xcode, pero como se actualizó a Xcode 5 ya no me da esa opción.
¿Alguien sabe lo que necesito hacer?
pip3.4 install lxml
oSTATIC_DEPS=true pip3.4 install lxml
comandos si está apuntando a una instalación específica para Python3 (adáptese a su versión, bash TAB complete es su amigo); para que instales la versión específica de tu programa de destino que está usando esta / estas librerías. De lo contrario, es fácil gastar 30 minutos instalando la biblioteca para el intérprete incorrecto ;-)Respuestas:
Debe instalar o actualizar la herramienta de línea de comandos para xcode. Prueba esto en una terminal:
fuente
Resolví este problema en Yosemite instalando y vinculando
libxml2
y alibxslt
través de brew:Si ha resuelto el problema utilizando este método pero aparece de nuevo más tarde, es posible que deba ejecutarlo antes de las cuatro líneas anteriores:
Si tiene errores de permiso con Homebrew, especialmente en El Capitan, este es un documento útil . En esencia, independientemente de la versión de OS X, intente ejecutar:
fuente
xcode-select --install
es un poco engañosa. Descubrí que después de actualizar de Mavericks a Yosemite, necesitaba correrxcode-select --install
nuevamente para actualizar a las Herramientas de línea de comando de Yosemite. Solucionó (parcialmente) los problemas con los que me encontraba y, en cualquier caso, sería inofensivo ejecutarlos de forma redundante.Puede resolver su problema ejecutando esto en la línea de comandos:
Seguro que me ayudó. Explicaciones sobre documentos
fuente
Probé la mayoría de las soluciones anteriores, pero ninguna funcionó para mí. Estoy ejecutando Yosemite 10.10, la única solución que me funcionó fue escribir esto en la terminal:
EDITAR: Si está utilizando virtualenv, el sudo al principio no es necesario.
fuente
virtualenv
no se necesita sudo.OSError: [Errno 1] Operation not permitted: '/usr/bin/build'
pesar de ejecutar el comando como sudo. ¿Algunas ideas?Esto también me ha estado molestando por un tiempo. No conozco lo suficiente sobre Python Distutils, etc., pero la ruta de inclusión aquí es incorrecta. Hice el siguiente truco feo para detenerme hasta que la gente de python lxml pueda hacer la solución adecuada.
fuente
Instalación global ... OS X 10.9.2
fuente
Las instrucciones de instalación en http://lxml.de/installation.html explican:
fuente
Nada de lo anterior funcionó para mí en 10.9.2, ya que la compilación se rescata con el siguiente error:
Que en realidad conducen a una solución más limpia (ver más detalles en [1]):
o siguiendo si se instala globalmente
[1] error de clang: argumento desconocido: '-mno-fused-madd' (error de instalación del paquete de Python)
fuente
/etc/sudoers
consudo visudo
preservar las variables de entorno.fuente
sudo
la instalación de pip mientras que otras no. (Tuve problemas de permisos al ejecutar pip install directamente, y tuve que sudo.) Solo puedo suponer que había instalado algo relacionado con python como root en el pasado distante, lo que creó ciertas carpetas (del sistema) como root en lugar de como yo mismo.sudo
.Resolví este problema
Yosemite
ejecutando los siguientes comandos:fuente
xcode-select install
para mí. Descargué los últimos paquetes libxml2 y libxlst (necesarios para lxml), pero antes de instalarlos pensé en verificar si Yosemite ya tiene esos archivos en algún lugar.pip install lxml
Creé un entorno virtual (usando virtualenvwrapper), y luego lo hice , y lxml instaló sin errores. Probé lxml raspando la página de inicio de google, y funcionó bien.Con homebrew, libxml2 está oculto para no interferir con el sistema libxml2, por lo que se debe ayudar un poco a pip para encontrarlo.
Con bash:
Con pescado:
fuente
OSX 10.9.2
fuente
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 = unused-command-line-argumentos-hard-error-in-future pip install lxml
fuente
export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future"
o puedes agregar tipos de arquitectura explícitamente como esta:export ARCHFLAGS="-arch x86_64 -arch i386 -Wno-error=unused-command-line-argument-hard-error-in-future"
Lamentablemente
xcode-select --install
no funcionó para mí, ya que tenía la última versión.Es muy extraño, pero resolví el problema abriendo XCode y aceptando los Términos y condiciones. Volver a ejecutar
pip install lxml
no devolvió errores después.fuente
Después de una instalación exitosa desde pip (lxml 3.6.4) recibí un error al importar el módulo lxml.etree.
Estaba buscando sin parar 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):
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 nueva en la caché de pip, por lo tanto, el
easy_install
. La'-2.7'
opción es para la versión de Python, omita esto si está instalando para Python 3.x.fuente
En mi caso, debo cerrar Kaspersky Antivirus antes de instalar lxml:
fuente
Estoy usando OSX 10.9.2 y obtengo el mismo error.
La instalación de las herramientas de línea de comandos XCode no ayuda para esta versión particular de OSX.
Creo que un mejor enfoque para solucionar esto es instalar con el siguiente comando:
Esto es similar a la corrección de jdkoftinoff, pero no altera su sistema de manera permanente.
fuente
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.
Según la instalación de lxml desde lxml.de,
Si no tiene MacPort, instálelo desde MacPort.org . Es bastante fácil También puede necesitar un compilador, para instalar las herramientas de compilación de 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
escribo y varios minutos más tarde debería ver libxml2 instalado con éxito. Probablemente también debalibxslt
instalar lxml. Para instalar libxslt, utilice:sudo port install libxslt
.Ahora, solo escriba
pip install lxml
, debería funcionar bien.fuente
antes de compilar, agregue la ruta de acceso a xmlversion.h en su entorno.
Pero asegúrese de que la ruta que proporcioné tenga el archivo xmlversion.h ubicado dentro. Luego,
fuente
pip
no funciono 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 comando
easy_install
para instalar el.egg
archivo.fuente
Esta publicación enlaza con una solución que me funcionó Python3, lxml y "Symbol not found: _lzma_auto_decoder" en Mac OS X 10.9
hth
fuente
Después de rasgar mucho el cabello y rechinar los dientes, desinstalé xcode con pip y corrí:
easy_install lxml
Y todo estuvo bien.
fuente
Tratar:
O:
¡Funciona!
fuente