2012-05-19 12 views
6

Intenté varias avenidas pero no tuve suerte. Estoy usando un MBP con 10.7.4. No recuerdo la última vez que tuve tantos problemas para instalar algo con Python en mi Mac. Ayúdeme a usar lxml en mi máquina local y no confíe en las confirmaciones de SVN, actualizaciones para ejecutar de forma remota en la máquina Linux.¿Cómo instalo lxml en Mac OS X 10.7.4? He agotado todas las opciones

$ sudo STATIC_DEPS=true /usr/bin/easy_install-2.7 lxml 
Password: 
Searching for lxml 
Reading http://pypi.python.org/simple/lxml/ 
Reading http://codespeak.net/lxml 
Best match: lxml 2.3.4 
Downloading http://lxml.de/files/lxml-2.3.4.tgz 
Processing lxml-2.3.4.tgz 
Running lxml-2.3.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-mbyEtk/lxml-2.3.4/egg-dist-tmp-O_t_3P 
Building lxml version 2.3.4. 
Latest version of libiconv is 1.14 
Downloading libiconv into libs/libiconv-1.14.tar.gz 
error: [Errno 60] Operation timed out 

intentado lo siguiente sin suerte

$ python setup.py build

$ STATIC_DEPS=true sudo easy_install --allow-hosts=lxml.de,*.python.org lxml 
$ sudo pip install lxml 

llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -I/usr/include/libxml2 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.7-intel-2.7/src/lxml/lxml.etree.o -w -flat_namespace 

unable to execute llvm-gcc-4.2: No such file or directory 

error: command 'llvm-gcc-4.2' failed with exit status 1 
+0

¿qué dice tu '~/.pip/pip.log'? – mata

+3

Falta el compilador de C. – larsks

+0

@mata: -bash: /Users/ThinkCode/.pip/pip.log: No existe tal archivo o directorio – ThinkCode

Respuesta

7

primero he instalado MacPorts y luego:

$ sudo port install python27 py27-lxml 

Y esto me dio una instalación de funcionamiento lxml.

En cuanto a sus mensajes de error, parece que falta el comando de compilación que pip está utilizando para compilar lxml (llvm-gcc-4.2). ¿Tiene instaladas las herramientas de desarrollo OS X? Debería encontrar ese archivo en /usr/bin/llvm-gcc-4.2; si no está allí, probablemente necesite descargar e instalar el paquete de desarrollo.

Puede instalar las herramientas de desarrollador de XCode a través de App Store. Si lee los comentarios en la tienda de aplicaciones, notará que para que las herramientas de línea de comando estén disponibles, debe instalarlas por separado. En XCode, vaya a Preferencias-> Descargas y descargue el paquete "Herramientas de línea de comandos".

+0

¿Puedo instalarlo sin MacPorts? – ThinkCode

+1

Claro, es posible.Pero, en general, preferiría dedicar mi tiempo * a usar * el software, por lo que me alegra aprovechar las ventajas que hacen que sea más fácil * instalar * el software. – larsks

+0

Esperaré por cualquier otra respuesta y eventualmente recurriré a MacPorts si no llego a ninguna parte con la instalación de lxml. Muchas gracias. Upvoted. – ThinkCode

1

que tenía que hacer: "puerto de desinstalación py-lxmlsudo", "sudo puerto de desinstalación py24-lxml", y "sudo port instalar py27-lxml" y luego he desinstalado lxml con pip , y reinstalado con pip y funcionó!

+1

¡Gracias! Tu sugerencia de desinstalación me ayudó a resolver mi pregunta similar en http://stackoverflow.com/questions/22752332/cannot-install-lxml-3-3-3-on-osx-10-9-with-buildout –

3

Para futuros usuarios que están revisando esta página, aquí hay una guía paso a paso para instalar lxml en Mac OSX.

  1. Vaya a Xcode, vaya a Preferencias, vaya a la pestaña Descargas y seleccione "Herramientas de línea de comandos". Descargue las herramientas de línea de comando

  2. Vaya a Aplicaciones, luego a Utilidades, y luego a Terminal, y abra el Terminal. En la terminal, escribe "easy_install pip". Nota: Si dice "error:/usr/local/bin/pip: Permiso denegado", escriba "chmod 777/usr/local/bin /". Ahora intenta el paso 2 nuevamente.

  3. Tipo: pip install "Cython> = 0,18"

  4. Después de que se termine, escriba: pip instalar lxml

  5. Abre IDLE de Python y probar si puede importar lxml, divertirse!

+0

Esto no es suficiente ; intentándolo salidas: /lxml/src/lxml/includes/etree_defs.h:9:10: error fatal: no se encontró el archivo 'libxml/xmlversion.h' – Petri

+0

En mi caso simplemente pude usar 'pip install lxml' en parte porque ya tenía Xcode y una versión razonablemente nueva de Cython instalada. –