2010-09-02 4 views
7

Der CodeProbleme bei der Installation lxml auf einem Mac installiert es aber nicht

from lxml import etree 

den Fehler

ImportError: No module named lxml 

Lauf

sudo easy_install lxml 

Ergebnisse in

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 
produziert gefunden Modul

Und trotzdem bekomme ich noch kein Modul namens lxml

Welchen Schritt vermisse ich, um lxml auf meinem Mac (OSX 10.5) zu verwenden?

aktualisieren

python --version Berichte

Python 2.5.2 

und läuft Python produziert

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

Wie erwartet, scheint das nicht das von Apple gelieferte Python 2.5 in 10.5 zu sein (das ist ein Python 2.5.1). Versuchen Sie 'python -c 'import sys; print sys.executable'', um sicher zu sein. –

+0

Zeige auch 'echo $ PATH' –

Antwort

9

Sie scheinen easy_install lxml in das Apple-Python 2.5 für OS X 10.5 zu versuchen, aber mit einem Ei, das wahrscheinlich mit einem Python.org Python 2.5 gebaut wurde. Wenn Sie beide auf Ihrem System installiert haben, beachten Sie, dass Sie für jedes Python ein separates easy_install (setuptools oder Distribute) benötigen. Apple liefert einen in /usr/bin für seine Python. Stellen Sie sicher, dass Sie die python.org-Version verwenden (überprüfen Sie which python), befolgen Sie die Installationsanweisungen für setuptools oder Distribute, um eine easy_install dafür zu installieren. Das easy_install wird im Verzeichnis bin des python.org-Frameworks sein: /Library/Frameworks/Python.framework/Versions/2.5//bin. Verwenden Sie das easy_install, um lxml zu installieren; Es sollte dann automatisch in /Library/Frameworks/Python.framework/Versions/2.5/lib enden. Es gibt eine detailliertere Diskussion eines ähnlichen Problems here und here.

+1

Ich habe Ihre zahlreichen Beiträge zur Verwaltung mehrerer Python-Versionen unter Mac OS gefunden, die mir dabei helfen, meine eigenen Probleme zu lösen. Meine Frage ist: wann wirst du das Buch veröffentlichen, das all diese Weisheit an einem Ort vereint? Ich würde sicherlich eine Kopie kaufen! – Hephaestus

+0

Danke. Ich bin froh, dass Sie sie finden, um zu helfen. –

2

Sie mehrere Versionen von Python auf Ihrem Computer installiert haben. lxml ist für einen installiert, und Sie rufen den anderen. Es gibt nicht genug Kontext, um mehr als das zu erraten.

0

Irgendetwas stimmt hier nicht. Das hinzugefügte Paket ist lxml-2.2.7-py2.5-macosx-10.3-i386.egg Es bezieht sich auf Mac OS X 10.3, während Sie Mac OS X 10.5 verwenden.

Versuchen Sie Python - Version, was sagt Ihnen das?

+0

Die' 10.3 'im Dateinamen bezieht sich auf den ABI (' MACOSX_DEPLOYMENT_TARGET') der verwendeten Python-Instanz, nicht unbedingt auf die OS X-Version, die Sie ausführen. Zum Beispiel werden python.org OS X-Installationsprogramme traditionell mit 'MACOSX_DEPLOYMENT_TARGET = 10.3' erstellt, so dass das gleiche Installationsprogramm und Python unter OSX 10.3 und höher (einschließlich 10.5 und 10.6) verwendet werden kann. –

1

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

auf Mac OS 10.9 Arbeitete sehen arbeiten.