MacPython Installation, leicht verwirrter absoluter Anfänger

Probleme bei der Installation?
Antworten
idiosyncratic
User
Beiträge: 2
Registriert: Dienstag 18. August 2009, 18:17

Ich möchte – auf meinem Mac [iMac G5 / Mac OS X 10.4.11 (8S165)] – das Natural Language Toolkit installieren und benötige dafür eben auch MacPython, und zwar am besten die Version 2.6.2.

Auf der NLTK-Seite steht, man solle erstmal checken, welche Python-Version installiert ist, indem man im Terminal "python" eingibt.
Habe ich gemacht und sehe dann: "Python 2.3.5 (#1, Jan 12 2009, 14:43:55)", also nicht aktuell, ich brauche eine neuere Version. Die kann ich auf der Python Download-Seite runterladen (als .dmg).

Da meine Unix-/Terminal-/Dateisystemkenntnise ähm, sehr bescheiden bis nichtexistent sind (ich bin aber lernwillig/-fähig), fangen jetzt meine Probleme/Fragen an:

Kann ich das jetzt einfach so installieren und wird dadurch meine Python-Version upgedated? Oder habe ich nachher 2 Versionen, die sich in die Quere kommen?
Muss/soll/kann ich die alte Version vorher löschen? Wenn ich das jetzt richtig sehe, besteht eine Python-Installation ja aus vielen unterschiedlichen files, die alle an unterschiedlichen Stellen im System abgelegt werden, z.B. an – für mich noch – so exotischen Orten wie "/usr/bin/" oder "../../System/Library/Frameworks/Python.framework/Versions/2.3/bin/python". (Kann man eigentlich irgendwie rauskriegen, welchen Dateien alle zu Python gehören und wo die rumliegen?)
Daher meine Befürchtung, ich könnte durch naives Installieren von MacPython 2.6.2 ein heilloses Durcheinander von alten und neuen Dateien an unterschiedlichen Stellen auf meinem Mac anrichten.

Ich würde mich über eine Erklärung oder einen (Literatur-)Hinweis sehr freuen.

Stephan
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Du wirst dann zwei Python-Versionen haben. Die werden dann wahrscheinlich unter `/System/Library/Frameworks/Python.framework/Versions/2.3` und `/System/Library/Frameworks/Python.framework/Versions/2.6` liegen. Da ist jeweils ein `Python`-Executable drin. Das könntest du unter der Angabe dieses Pfads aus einem Terminal heraus so öffnen.

Außerdem wird eine Version nach `/usr/bin/python` verlinkt. Das ist das Standardverzeichnis, wo zuerst nach Programmen gesucht wird, wenn du den PATH nicht änderst. Dort wird gesucht, wenn du einfach "python" im Terminal eingibst.

Öffnest du also ein Terminal und gibst `which python` ein, solltest du sehen, wo den Python her kommt. Hast du MacPython 2.6 installiert, kannst du auch `which python2.6` probieren.

Ich tippe darauf, dass die neuere Version das `/usr/bin/python` überschreibt. Eigentlich sollten sich die Python-Versionen nicht in die Quere kommen, denn man kann auch mit python2.6 oder python2.3 (rate ich mal) explizit eine Version wählen.

Eine etwas umständlichere Alternative wäre, nicht MacPython zu installieren, sondern 1.) die OS/X-Developer-Tools, die bei jedem Mac auf DVD dabei liegen oder für 2-3 GB von Apple kostenlos gezogen werden können. Dann 2) MacPorts installieren, was eine Paketverwaltung für diverse Unix-Tools für OSX ist. 3) Über MacPorts kannst du nun wiederum Python installieren, wobei Python mit einer Zillion Abhängigkeiten installiert wird, die leider alle im Quelltext gezogen und dann auf deinem Rechner kompiliert werden. Das kann eine Stunde und länger dauern.

Das landet alles sauber unter `/opt/local` und kommt mit nix in die Quere und lässt sich mit `port uninstall python` auch wieder entfernen. Somit dauert es zwar und kostet einiges an Plattenplatz, ist aber auf dauer wohl bequemer.

Auf diese Weise kannst du auch das NLTK installieren. Öffne das Terminal und gibt (nach der INstallation der Developer-Tools und von MacPorts) dann ein: `sudo port install py26-nltk`. Das sollte Version 2.0b5 von NLTK, Python 2.6.2 und alles, was sonst noch so benötigt wird, um diese beiden Pakete zu installieren, installieren.

Danach musst du den PATH derart ändern, dass /opt/local/bin vor /usr/bin im Suchpfad steht. Das geht so: export PATH=/opt/local/bin:$PATH.

Damit du das nicht jedes Mal eingeben musst, kannst du in deinem HOME-Verzeichnis (dort, wo sich das erste Terminal öffnet), eine Datei namens ".bash_profile" anlegen (oder ändern, falls sie schon existiert) und diese Zeile hinzufügen.

Stefan
idiosyncratic
User
Beiträge: 2
Registriert: Dienstag 18. August 2009, 18:17

Hallo Stefan, herzlichen Dank für deine ausführliche Antwort. Dass ich in der Welt von Unix und Python mit »drag and drop« nicht weit kommen würde, war mir schon klar, aber dass es dann doch so verfrickelt sein muss, macht mich nicht froh. Vielleicht bringe ich ja den Mut auf, es mit macports zu versuchen – auf jeden Fall werde ich mich jetzt wohl näher mit der Materie beschäftigen müssen!
Antworten