xTurtle und Mac

Probleme bei der Installation?
Imperator
User
Beiträge: 275
Registriert: Montag 20. August 2007, 14:43
Kontaktdaten:

Freitag 19. Oktober 2007, 13:41

DAs mit dem einfrieren tritt häufig bei xturtle ein. Keine Ahnung warum.
Serge
User
Beiträge: 3
Registriert: Donnerstag 19. Juni 2008, 13:38

Donnerstag 19. Juni 2008, 14:13

Hallo lukas,

habe auch einen mac und ähnliche Schwierigkeiten. Kannst Du mir bitte das mac-Forum nennen, das Dir geholfen hat?

Gruß, Serge
Virus42

Donnerstag 20. November 2008, 21:27

Natürlich geht es auch ohne ein Extraprogramm, neue Pfade für eigene Module in Python und Mac OS X einzubinden.

Leider unterstützt das Buch Mac gar nicht.

Wie schon von gerold trotz fehlendem Erfahrung mit dem Mac richtig erkannt hat, so ist es wohl am einfachsten, eigene Module in einen Ordner zu verschieben, welcher schon im sys.path ist.

Da die IDLE für 2.6 noch nicht für Mac funktioniert, aufgrund eines Tk-Fehlers , habe ich es nur mit der normales 2.5.2 IDLE getestet und mit der Mac-Konsole alias "Terminal".

Mit 2.6 und dem Terminal sind folgende Pfade schon nach der Installation in der sys.path:

/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages


mit der 2.5 IDLE gibt es folgende schon vorhandene Pfade:

/Users/Virus/Documents
/Applications/Python 2.6/IDLE 25.app/Contents/Resources
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/setuptools-0.6c5-py2.5.egg
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/py2app-0.3.6-py2.5.egg
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/bdist_mpkg-0.4.3-py2.5.egg
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/macholib-1.1-py2.5.egg
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/modulegraph-0.7-py2.5.egg
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/altgraph-0.6.7-py2.5.egg
/Applications/Python 2.6/IDLE 25.app/Contents/Resources
/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/wx-2.8-mac-unicode

Das ist nach der frischen Installation. Ich habe das volle zip-Paket von python.org genommen.


Sooo,
um aber nun zum eigentlichen Problem zurück zu kommen; es reichen 2 Dateien auf der Buch-CD: "xturtle.py" und "xturtle.cfg_". Das Erstere ist das Modul und das Letztere die Voreinstellungen für die Größe des Fensters etc., welche du, für die Standardeinstellungen zu "xturtle.cfg umbenennen musst.
Diese beiden kannst du einfach markieren, mit Apfel+C kopieren und mit Apfel+V in den Ordner z.B.
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk
(geht unter Leopard, ansonsten per Mauszeiger kopieren)
kopieren.

Nun lässt sich im eigenen Programm "import xturtle" verwenden.
Es gibt noch weitere Möglichkeiten:
Um seinen eigenen Pfad zu verwenden, schreibe am Anfang deines Programms folgende Zeilen:

import sys
sys.path.append("$")

ABER anstatt des $-Zeichens schreibst du deinen eigenen Pfad vom ORDNER. Also falls du dein Modul "mytools.py" laden willst. Packe es in den Ordner deiner Wahl... passenderweise "mylib".

Mac OS X geht standartmäßig von deiner Partition aus, auf welcher das Betriebssystem läuft.
Unterordner werden mit "/" angesprochen.

Bei mir steht z.B.:

import sys

sys.path.append("/Library/Python/mylib")

Alles was ich dann selbst brauche, packe ich in den "mylib"-Ordner.


Nun war es mir aber zu blöd vor jedem Programm, welches meine Module verwendet, diese 2 Zeilen anzufügen.
Also muss Standardmäßig in diesem Ordner alles geladen werden.

Dies geschiet, indem man selbst eine .py-Datei schreibt mit diesen 2 Zeilen.
Das ist jetzt das witzige dadran.
Diese 2 Zeilen, welche du nicht an jedes Programm anhängen willst, sind jetzt in einem Programm geschrieben und du nennst es wie du willst. Es muss nicht sitecustomize.py heißen!
Tja ich habe es trotzdem so genannt mich aber sogar anfangs verschrieben, daher weiß ich es ist nicht relevant.

Jetzt kannst du dieses Programm in einen beliebigen Ordner packen der schon standardmäßig geladen wird und schon wird dein Programm auch geladen und damit auch alle Programme die in dem Ordner welche in diesem Befehl stehen.
Falls du mehr als einen Ordner hinzufügen willst schreibe einfach mehrmals den Befehl "sys.path.append("$") oder hänge mehere Strings an.

Bei mir hat es wunderbar geklappt.
Eine Datei angelegt, die customize.py heißt und in lib-tk"-Ordner geworfen, hatte es auch mal p.py genannt und in einen anderen vorgegeben Ordner getan und hat auch geklappt.

Falls es Probleme gibt:
Benennt die Datei sitecustomize.py .
Verschiebt "sitecustomize.py" in den Ordner
"/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk" .
Oder halt 2.6 anstatt 2.5.

Hoffe geholfen zu haben.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Donnerstag 20. November 2008, 22:06

Die Verwendung des xturtle-Moduls hat sich mit Python 2.6 faktisch erledigt, weil es im turtle-Modul von 2.6 aufgegangen ist. Anders gesagt: Das, was bisher das xturtle-Modul war (und zwar die deutlich überarbeitete und erweiterte Version 0.95a) ist jetzt das Standard Turtle-Modul von Python.
Virus42

Freitag 21. November 2008, 13:33

Oh cool, das wusste ich gar nicht.

Trotzdem funktioniert Tkinter noch nicht mit Mac OS X.


Von daher hat sich es noch nicht erledigt für Mac-User :( .

Zudem habe ich es noch nicht geschafft eine Interaktive Python Shell zu erstellen mit dem Mac...
Werde da die nächsten Tage mal schauen wie es geht.
Falls es jemand weiß, kann er es gerne hier rein schreiben.
Antworten