Seite 1 von 1

Python und library auf OS X

Verfasst: Sonntag 8. November 2009, 16:02
von xaver
Hallo alle,

ich bin auf MAC umgestiegen, und habe nur Problemen mit Python und die Installation von Module. Ich Hoffe hier kennt sich gut mit MAC OSX aus.

Ich Versuche vor allem den PyXML module zu installiere und zwar habe den üblichen
sudo python setup.py install
der c compiler habe ich aus developper tools cd installiert und gehe davon aus dass es richtig ist, jedoch wenn ich ein "from xml.dom.ext.reader import Sax2" sage, dann bekomme eine ordentliche Fehler:
from xml.dom.ext.reader import Sax2
ImportError: No module named ext.reader

wieso das, wenn bei der installation alles ordentlich - zumindest in meine Augen - lief?

eine ähnliche Problem habe ich mit dem mysqldb modul. ich habe versucht erstmal die egg Datei zu installieren jedoch vergebens. Dann auf ein Forumbeitrag habe ich gelesen dass durch ein Bug in macpython 2.5 das Problem liese sich lösen in dem die egg Datei in ein andere kurze name umbenennt. Und so habe ich auch gemacht. Wurde installiert jedoch
wenn ich import MySQLdb sage dann bekomme ich folgende Fehlermeldung:
dlopen(/Users/saverioscavelli/.python-eggs/MySQL_python-1.2.3c1-py2.5-linux-i686.egg-tmp/_mysql.so, 2): no suitable image found.
wie lose ich das problem?

Vielen Dank.

Xaver

Protokoll instakllation von PyXML:
-----------------------------------------
[Edit (Leonidas): Code ausgelagert]

Verfasst: Montag 9. November 2009, 17:40
von nemomuk
Konnte nicht antworten und jetzt ist anschneinend ein Teil der Fehlermeldung weg... (wenn ich mich richtig daran erinnere)

Vllt. postest du noch mal (ausgelagert bei paste.pocoo.org) die genau und komplette Fehlermeldung.

Verfasst: Montag 9. November 2009, 19:11
von Darii
Was mysql betrifft, hast du auch alle Abhängigkeiten von der Bibliothek installiert (ich vermute mal das sind mysql+header-Dateien)?

Verfasst: Montag 9. November 2009, 20:14
von nemomuk
Bezüglich MySQL kann ich hierauf verweisen: http://www.icoost.com/programmiersprach ... tallieren/

Bei PyXML sehe ich wie gesagt keinen Fehler, da das auch nicht der komplette "log" ist.

Verfasst: Dienstag 10. November 2009, 22:43
von blard
Unter Os X installiert man Module am einfachsten mit easy_install und pypi und dem derartige

also für libxml

Code: Alles auswählen

sudo easy_install pyxml

Code: Alles auswählen

sudo easy_install pymysql
Und alles sollte super sein. Das einzige, was cih nicht sagen kann ist, ob pymysql das mysqldb ist, was du nutzen willst, aber im zweifelsfall kannst du die repos sicherlich online browsen.[/code]

Verfasst: Mittwoch 11. November 2009, 01:20
von Leonidas
blard hat geschrieben:Das einzige, was cih nicht sagen kann ist, ob pymysql das mysqldb ist, was du nutzen willst, aber im zweifelsfall kannst du die repos sicherlich online browsen.
Da es momentan nur ein "brauchbares" MySQL-Modul für Python gibt, wird das wohl MySQLdb sein.

Verfasst: Mittwoch 11. November 2009, 10:26
von sma
Der eigentlichen Frage ausweichend würde ich empfehlen MacPorts zu benutzen und darüber Python zu installieren. Das dauert zwar lange, weil Python das halbe Internet als Dependency hat und alles kompiliert werden muss, aber man hat ein sauber von einander abhängendes Set an Modulen, die man zudem auch sauber upgraden oder wieder deinstallieren kann.

Da MacPorts alles selbst kompiliert, muss man natürlich die Mac-Developer-Tools (also Xcode) installiert haben. Die aktuelle Version bekommt man als 2GB Download oder so (vielleicht war das auch die Version inkl. iPhone-Entwicklung) kostenlos bei Apple. Die auf der DVD mitgelieferte sollte aber eigentlich auch reichen.

Stefan

Verfasst: Mittwoch 11. November 2009, 10:41
von nemomuk
Ich sehe bei MacPorts keinen Vorteil, außer ewig lange Kompiliervorgänge. Die Lösung mit dem normalen Python Installer Image ist mindestens genauso sauber, wie ich finde. Womit ich nicht sagen will, dass MacPorts an manch anderer Stelle vllt. nicht sinnvoll wäre,...

Verfasst: Mittwoch 11. November 2009, 10:45
von sma
Ohne MacPorts hast du IIRC eine verkrüppelte Readline-Implementierung und das letzte Mal als ich schaute, konnte man z.B. lxml gar nicht übersetzen.

Ich mag auch die Vorstellung nicht, dass jedes Python-Modul unter /System/Frameworks/ oder sonst wo im System seinen Code als "root" anlegt und ich das faktisch nie wieder weg bekomme.

MacPorts legt alles sauber unter /opt/local ab und zur Not kann ich den gesammten Subtree in die Tonne treten und alles ist wie zuvor.

Stefan

Verfasst: Mittwoch 11. November 2009, 11:19
von nemomuk
Hmmm...
Ich mag auch die Vorstellung nicht, dass jedes Python-Modul unter /System/Frameworks/ oder sonst wo im System seinen Code als "root" anlegt und ich das faktisch nie wieder weg bekomme.
Was meinst du damit? Mein Python befindet sich hier: /Library/Frameworks/Python.Framework/Versions/xx/... Wo wir da deiner Meinung nach sonst Code abgelegt?

Verfasst: Samstag 14. November 2009, 11:34
von sma
Irgendwer hat mir auch unter /usr/local/bin diverses Zeugs hinkopiert und wer weiß wo noch. Ich traue diesen pkg-basierten Installern nicht, da es keine offizielle Möglichkeit (wie bei Windows) gibt, den Mist wieder sauber zu entfernen. Ich weiß zwar, dass unter /Library/Receipts eines angelegt wird, aber für ein automatisches Uninstall reicht das auch nicht. Insgesamt alles höchst unbefriedigend IMHO.

Stefan