• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

MacPython - Kennt sich jemand aus?

jolt

Fuji
Registriert
18.07.08
Beiträge
37
Hi,

bin erst seit ein paar Monaten im Besitz eines MacBooks - von daher kenn ich mich noch nicht wirklich gut damit aus. Da ich in der Schule mit Python programmiere (bislang tat ich das unter Windows mittels Bootcamp) wollte ich nun mal alles unter Python einrichten. Da ja letztens eine neue Version von TextWrangler rauskam hab ich mich mal rangesetzt (keine Lust soviel Geld für TextMate auszugeben, später vielleicht mal ;) )

Ich habe also TextWrangler installiert, nach meinen Bedürfnissen eingerichtet. Anschließend noch Python 2.5.4 von der offiziellen Seite gesaugt und installiert. Und nun? Standardmäßig ist ja auch schon eine Python-Version bei OS X dabei, sehe ich richtig oder?
Ich muss OS X doch nun sicherlich noch sagen, dass ich eine andere Version von Python installiert habe? Wenn ja, wie?

Desweiteren wollte ich wissen wo sich überhaupt Python befindet. In der Schule arbeiten wir mit ein paar anderen Modulen die standardmäßig nicht bei Python dabei sind - z.B. das msvcrt Modul (kennt das jemand? Läuft das überhaupt? Ist irgend ein Windows kram)

Diese Module habe ich soweit ich weiß, genauer gesagt habe ich den Python Installationsordner von der Schule - stammt allerdings von einer Windowsinstallation.


Kennt sich denn von euch überhaupt jemand mit MacPython aus? :) Hilfe wäre sehr nett!
 

MacAlzenau

Golden Noble
Registriert
26.12.05
Beiträge
22.501
Ich kenne mich keineswegs mit Python aus - versuche, alternativ dazu mich in Perl einzuarbeiten - aber auf die Frage nach dem WO kann ich gerne antworten, denn das ist eher eine mac-typische Frage als eine python-typische.
Natürlich in /Library/Python.
Der Mac ist nämlich recht logisch aufgebaut, es empfiehlt sich generell, sich mal die ganzen Verzeichnisse anzuschauen. Man bekommt dann rasch ein Gespür, wo was liegt. (Für den UNIX-Teil muß man allerdings vorher die unsichtbaren Verzeichnisse /etc, /var usw. cithbar machen.)
Alle wichtigen Dateien, die nicht zum BSD-Subsystem gehören (also im Finder unsichtbar sind) oder zu den persönlichen Dateien gehören oder zu den Programmen, befinden sich in den drei Library-Verzeichnissen:
/System/Library - da sollte man erst mal die Finger davon lassen
/Library - für alles, was für alle Benutzer wichtig ist
~/Library - (also im Home-Verzeichnis) für alles, was nur dem jeweiligen User verfügbar ist.

Wie du dem Mac mitteilst, daß du nicht die mitgelieferte Pythonversion benutzen willst - wobei ich denke, es wäre einfacher, die einfach upzudaten, falls sie veraltet ist - sollte dein Lehrer wissen. Es geht recht einfach im Terminal - aber mehr weiß ich dazu nicht. Da wird aber sicher morgen früh jemand Kundiges was dazu schreiben. Wenn nicht, kann ich mal schauen nach dem entsprechenden Perl-Befehl, der für Python wird sich daraus erschließen lassen - im Prinzip kann es ja nur ein Verweis sein.


[Ich hoffe, hier kommen auch noch einige fachlich qualifizierte Tipps, irgendwann will ich alter Egoist auch mal bei Python reinschauen.]
 

Tafkas

Rheinischer Krummstiel
Registriert
25.11.06
Beiträge
381
Du musst doch nur auf der Konsole mal

"whereis python"

eingeben.
Ansonsten bekommst du aktuelle Versionen am besten via MacPorts.
 

Cyrics

Neuer Berner Rosenapfel
Registriert
01.04.05
Beiträge
1.973
Hi,
bin erst seit ein paar Monaten im Besitz eines MacBooks - von daher kenn ich mich noch nicht wirklich gut damit aus. Da ich in der Schule mit Python programmiere (bislang tat ich das unter Windows mittels Bootcamp) wollte ich nun mal alles unter Python einrichten. Da ja letztens eine neue Version von TextWrangler rauskam hab ich mich mal rangesetzt (keine Lust soviel Geld für TextMate auszugeben, später vielleicht mal ;) )
Das ist toll.... aber auf die Idee zu kommen eine Programmiersprache, die nicht vom Microsoft-Konzern "entwickelt" wurde unter Windows per Bootcamp, wie du schreibst, zu nutzen, ist schon eine interessante Idee... wie dem auch sei. Python ist sehr beliebt und weit genutzt im Linux- und Unix-Bereich. Wie du ja auch richtig mitbekommen hast, ist bereits Python auf jedem Mac installiert, der ein OS X mitbringt.

Ich frage mich also wirklich wie man auf die Idee kommt sich ein super aktuelles (2.5.4) im Vergleich zur derzeitigen (2.5.1) neuzuladen und zu installieren? Brauchst du das aufgrund der Schule mit speziellen Paketen?! Welche Pakete sind denn sonst nicht bei? Ist überhaupt ein Unterschied spürbar?

Im Linux/Unix-Bereich existieren sonst verschiedene Möglichkeiten Bibliotheken und Ausführbare zu lokalisieren. Es existiert slocate, locate, which, whereis und noch vieles mehr.
Wenn du which nutzt, wirst du feststellen, dass die eigentliche Ausführbare im Order /usr/bin liegt mit dem Namen python.
Diese verweist aber auch nur auf System/Library/Frameworks/Python.framework/Versions/2.5/bin/python (mach ein ls -l auf /usr/bin/python und schau es dir selbst an)

So... die Frage ist nun also wohin hat sich dein "neues" Python hininstalliert? Denn du müsstest den symbolischen Link bei /usr/bin/python auf die neue Position ändern.

Dies würdest du per ln -sfn neuer_Ort_von_python /usr/bin/python machen. Dazu brauchst du Superuser-Rechte ... also mit sudo agieren.

Falls dir dies alles spanisch vorkommt. Lass es lieber... denn wenn du irgendeine klicki-bunti-Python-Installation durchgeführt hast, würde ich behaupten, haben die das bereits für dich erledigt.

Ansonsten viel Spaß mit Python. Würden die regulären Ausdrücke nicht so schlecht umgesetzt sein, würde ich überall behaupten, dass Python wirklich eine revolutionäre Sprache ist. Zumindest Bruteforce-Algorithmen funktionierten verdammt schnell damit.
 

sumpfmonsterjunior

Morgenduft
Registriert
17.03.05
Beiträge
167
Das msvcrt-Modul (Mircosoft-Visual-C-RunTime) gibts (logischerweise) nur unter Windows.
Erschließt sich mir jetzt zwar nicht, wieso man das an einer Schule zu Lehrzwecken braucht, aber da hast Du wohl Pech (einfach mal den Lehrer drauf ansprechen).

Xcode (die Apple-Entwicklungsumgebung, ist auf der Leo-CD mit drauf bzw. bei developer.apple.com gibts kostenlos eine aktuelle Version) hat ebenfalls eine ordentliche Python-Unterstützung.
Manuell ein Python aus dem Netz zu ziehen halte ich ebenfalls nicht für notwendig, solange Du nicht unbedingt eine spezielle Version benötigst (in diesem Falle macht Euer Lehrer wirklich was falsch).

Ansonsten bleibt noch die Lösung, ein Windows in einer virtuellen Maschine zu installieren (z.B. mit www.virtualbox.org), allerdings ist das wirklich von hinten durch die Brust ins Auge.

Gruß, SMJ
 
  • Like
Reaktionen: Jamsven

jolt

Fuji
Registriert
18.07.08
Beiträge
37
"whereis python" spuckt /usr/bin/python aus.

@ Cyrics

Kann dich verstehen, ist sicherlich etwas wunderlich. Die Sache ist die, in der Schule sind Rechner mit Win XP und unserem Schulstandard-Editor MED (nicht für OS X erhältlich). Und dann sowieso eine ältere Python-Version. Der Grund für die alte Version ist wohl nur die Faulheit des Admins. Ehrlich gesagt weiß ich nicht ob sich in den Versionen grundlegendes ändert - war reine Vorsicht. Programme die wir abgeben, müssen aufm Schulrechner funktionieren.

Da mein MacBook auch noch recht neu ist, war die einfachste Möglichkeit einfach mittels Bootcamp Win XP zu installieren und dann quasie das gleiche Setup wie in der Schule zu nutzen. Klappte auch alles wunderbar nur das ewige hin und her booten nervt wirklich...

Und ja, habe eine "Klicki-Bunti-Installation" durchgeführt; dumme Bezeichnung.

Das mit dem msvcrt-Modul hab ich mir irgendwie schon fast gedacht. Irgendwie sehr dumm, Python ist Plattformübergreifend und dann kommt der Lehrer mit einem solch blöden Modul an. Aber gut, brauchen wir auch nicht alltäglich und ich werde ihn demnächst drauf ansprechen was für alternativen es gibt. Bin in programmieren recht unerfahren, wie man vll auch merkt ;)
Programmiere nur in der Schule und das auch erst seit diesem Schuljahr, d.h. wirklich beherschen tu ich Python sicherlich nicht.

sumpfmonsterjunior, hast du Erfahrung mit Xcode gemacht? Hab bislang überall nur gelesen das TextMate der brüller sein soll - aber für Schulprogrammieren sind mir die 50€ doch etwas zuviel. Schade das es nicht irgend ne kostenlose Schulversion oder so gibt ;)

Ansonsten sieht TextWrangler sehr vernünftig aus, jedenfalls für meine Bedürfnisse.
 

sumpfmonsterjunior

Morgenduft
Registriert
17.03.05
Beiträge
167
Ich benutze Xcode zum programmieren, einfach weil mir eine IDE mehr als ein Texteditor zusagt, ist aber Geschmacksache.

Wenn Dich das booten nervt, benutze doch einfach eine Virtualisierungslösung (VBox ist kostenlos).

Gruß, SMJ
 

Cyrics

Neuer Berner Rosenapfel
Registriert
01.04.05
Beiträge
1.973
Ich möchte gar nicht groß gegenreden. Ich möchte bloß sagen, dass euer Lehrer keine Ahnung hat, und wenn er auch programmieren lernen möchte bei klaren Strukturen anfängt.

Wenn er Visual C++ programmieren will, soll er die Finger von Python lassen und andersherum. Ich bin mir sicher, dass es viele Möglichkeiten gibt Visual C++ mit sonst etwas zu kreuzen und daraus etwas zu erzeugen, aber Schülern so die Programmierung beizubringen ist daneben.

Daher soll sich euer Lehrer erst einmal entscheiden, was er genau machen möchte. Dazu stellt er ein Ziel vor, dann wägt man ab wie man dieses Ziel erreichen kann (durch welche Hilfsmittel etc.), und wählt somit eine Programmiersprache, die fast alles ermöglicht. Sollte diese nicht alles kann, mus man Zusatzlleistungen abwägen, und dies durch zusätzliche Module nachholen.

Ich weiß, dass viele Lehrer am Anfang immer gerne auf GUI etc. gehen mit 2-3 Buttons und einem Texteingabefeld. Dazu ist vielleicht Visual C++ geeignet, wenn man auf der Microsoft-Schiene fahren will. Möchte man seine Schüler aber erziehen sauber zu programmieren, sollte man vielleicht mit C++ und Qt anfangen, oder Java 1.5. Auch Perl und Python bieten grafische Oberflächen, die mit allen OpenSource-Frameworks zusammen arbeiten.

Falls dein Lehrer aber aus Sturheit auf seiner Idee besteht, wirst du dazu gezwungen sein ein Microsoft Windows zu emulieren und unter diesem zu entwickeln. Als Editor, der kostenfrei daher kommt, ist sonst Xcode wirklich sehr zu empfehlen. Am Anfang ist man davon ein wenig erschlagen, aber man wird die vielen Möglichkeiten zu schätzen wissen.