PythonCard auf Mac 10.4.11

Probleme bei der Installation?
Antworten
ingobar
User
Beiträge: 8
Registriert: Samstag 5. Juli 2008, 17:56

Hallo alle zusammen,

nachdem ich jetzt alle möglichen und unmögliche Sprachen ausprobiert habe, wollte ich mal mit Python herumspielen. Um möglichst einfach GUIs zu bauen, wollte ich mal PythonCard ausprobieren (Welche Erfahrung habt ihr damit? Gibt es was besseres?) Leider funktioniert die Installation bei meinem Mac nicht. Wenn ich versuche die py-Dateien direkt mit dem Launcher zu starten bekomme ich die Fehlermeldung
from PythonCard import model
ImportError: No module named PythonCard
Wenn ich die gleiche Datei aber in IDLE öffne und "Run Module" auswähle klappt alles prima. Ich habe dann mal geschaut welche Launcher er verwendet (python -V), aber ich bekam die richtige Antwort 2.5.2 Wo liegt der Fehler? Kennt sich jemand damit aus?

Viele Dank schon mal,

ingobar
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

PythonCard ist nicht in einem Ordner der in der PATH Variable auftaucht.
Du könntest vor dem import mit "sys.path.append('/Pfad/zu/dem/Ordner/in/dem/PythonCard/steckt')" das Problem beheben. Vorher musst du natürlich sys importieren.
ingobar
User
Beiträge: 8
Registriert: Samstag 5. Juli 2008, 17:56

Hallo und schon mal danke für den Tipp.

Was ist den sys? :shock:

Und was meinst du mit importieren? :?

Ich denke doch mal, dass sys irgendeine Variable in irgendeiner Datei ist, oder? Wo finde ich diese Datei? :?:

Über noch mehr Hilfe würde ich mich noch mehr freuen. :D

Viele Grüße,
ingobar
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

sys ist ein Modul. Dieses ist bei Python schon mit dabei.
Module kann man importieren mit dem Befehl `import`.
Wo sys liegt ist unterschiedlich je nach Betriebssystem aber muss man auch i.d.R. nicht wissen.

Ich denke am einfachsten ist es du startest auf einer Konsole erstmal die Python Shell:
Dann importierst du sys und schaust dir path an.

Code: Alles auswählen

import sys
print sys.path
Es wird eine Liste angezeigt in der sich nur Strings befinden, alles Pfade zu Ordnern oder .zip Dateien.
Wenn sich ein Modul in einem dieser Ordner befindet kannst du es importieren wie du es mit sys gerade eben getan hast. In deinem Fall schein PythonCard nicht in einem dieser Ordner zu liegen. Also erweitern wir die Liste um den Pfad in dem das Modul PythonCard liegt. Das geht mit:

Code: Alles auswählen

sys.path.append('/Pfad/zum/Ordner/von/PythonCard')
Wenn du alles richtig gemacht hast sollte jetzt nichts zu sehen sein. Zur Sicherheit kannst du dir die Liste aber nochmal anschauen um zu gucken ob du den richtigen Ordner hinzugefügt hast.
Jetzt kannst du PythonCard mit

Code: Alles auswählen

import PythonCard
importieren.
Jetzt sollte im besten Fall wieder nichts passieren, erst recht kein ImportError.

Nun wenn das geklappt hat öffnest du nun die py-Dateien die du mit dem Launcher starten wolltest. Du suchst dort die Zeile

Code: Alles auswählen

from PythonCard import model
und schreibst davor den Code den du vorher in die Shell eingetippt hast, danach speicherst du die Datei wieder und startest die einfach mit dem Lauchner.
ingobar
User
Beiträge: 8
Registriert: Samstag 5. Juli 2008, 17:56

Das nenne ich mal eine gelungene Beschreibung. Jetzt habe ich wenigstens verstanden, was ich mache.

Leider klappt es trotzdem nicht :(

Code: Alles auswählen

import sys
sys.path.append('/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/PythonCard')
from PythonCard import model
So sieht es jetzt in der Datei aus. Und wieder klappt es nur vom IDLE aus, aber nicht über den Laucher. Ich bekomme immer noch die Meldung
from PythonCard import model
ImportError: No module named PythonCard
Komisch, oder? Hast du noch eine Idee.

ingobar
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Du musst nicht den PythonCard-Ordner in den PYTHONPATH hinzufügen sondern den site-packages-Ordner darüber, wundert mich eh' das der da nicht drin sein sollte.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ingobar
User
Beiträge: 8
Registriert: Samstag 5. Juli 2008, 17:56

Ist er ja auch:
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5
Inzwischen bin ich aber eh auf wxWidgets gewechselt.

Dennoch Danke
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

ingobar hat geschrieben:Ist er ja auch:
Das ist nicht der ``site-packages``-Ordner.

Aber ich persönlich finde PythonCard auch recht tot und würde es auch nicht unbedingt einsetzen wollen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten