2010-09-02 19 views
7

El códigoProblemas con la instalación lxml en un Mac, se instala pero módulo no encontraron

from lxml import etree 

produce el error

ImportError: No module named lxml 

Correr

sudo easy_install lxml 

resultados en

lxml 2.2.7 is already the active version in easy-install.pth 
Removing lxml-2.2.7-py2.5-macosx-10.3-i386.egg from site-packages and rerunning sudo easy_install lxml results in 
Adding lxml 2.2.7 to easy-install.pth file 
Installed /Library/Python/2.5/site-packages/lxml-2.2.7-py2.5-macosx-10.3-i386.egg 
Processing dependencies for lxml 
Finished processing dependencies for lxml 

Y todavía obtengo ningún módulo llamado lxml

¿Qué paso me falta para utilizar lxml en mi Mac (OSX 10.5)?

actualización

pitón --version informes

Python 2.5.2 

y Python corriendo produce

Python 2.5.2 (r252:60911, Feb 22 2008, 07:57:53) 
[GCC 4.0.1 (Apple Computer, Inc. build 5363)] on darwin 
+0

Como era de esperar, no parece ser el Python 2.5 de 10.5 proporcionado por Apple (que es un Python 2.5.1). Pruebe 'python -c 'import sys; print sys.executable'' para estar seguro. –

+0

También muestre 'echo $ PATH' –

Respuesta

9

Parece que está tratando de easy_install lxml en el Python 2.5 de Apple para OS X 10.5 pero usando un huevo que probablemente fue construido con python.org Python 2.5. Si tiene ambos instalados en su sistema, tenga en cuenta que necesita tener un easy_install (setuptools o Distribute) por separado para cada Python. Apple suministra uno en /usr/bin para su Python. Asegurándose de que está utilizando el de python.org (marque which python), debe seguir las instrucciones de instalación de herramientas de configuración o Distribuir para instalar un easy_install. Que easy_install estará en el directorio bin del framework python.org: /Library/Frameworks/Python.framework/Versions/2.5//bin. Use ese easy_install para instalar lxml; debería entonces automáticamente terminar en /Library/Frameworks/Python.framework/Versions/2.5/lib. Hay una discusión más detallada de un problema similar here y here.

+1

He encontrado que sus numerosas publicaciones sobre la administración de múltiples versiones de Python en Mac OS son invaluables para ayudarme a resolver mis propios problemas al respecto. Mi pregunta es: ¿cuándo vas a publicar el libro que reúne toda esa sabiduría en un solo lugar? ¡Sin duda compraría una copia! – Hephaestus

+0

Gracias. Me alegra que los encuentres de ayuda. –

2

tiene varias versiones de Python instalado en su ordenador. lxml está instalado para uno, y está invocando el otro. No hay suficiente contexto para adivinar más que eso.

0

Algo no está bien aquí. El paquete que se está agregando es lxml-2.2.7-py2.5-macosx-10.3-i386.egg Se refiere a mac os x 10.3, mientras está usando mac os x 10.5.

Prueba python --version, ¿qué te dice eso?

+0

El' 10.3' en el nombre de archivo hace referencia al ABI ('MACOSX_DEPLOYMENT_TARGET') de la instancia de Python utilizada, no necesariamente a la versión de OS X que está ejecutando. Por ejemplo, tradicionalmente los instaladores de Python.org OS X están construidos con 'MACOSX_DEPLOYMENT_TARGET = 10.3' para que el mismo instalador y Python se puedan usar en OSX 10.3 y versiones posteriores (incluyendo 10.5 y 10.6). –

1

sudo env ARCHFLAGS="-arch x86_64" easy_install-2.7 lxml

Trabajado en Mac OS 10.9.

Cuestiones relacionadas