Guten Morgen,
ich arbeite mich gerade in Python ein. Meine Umgebung:
Ubuntu 8.10
Python 2.5
Eric4
Und jetzt steh' ich voll auf dem Schlauch. Bin gerade im Galileo-OpenBook in Kapitel 12,
Objektorientierung und möchte das dortige Beispiel durchspielen: http://openbook.galileocomputing.de/pyt ... 12_001.htm
Die Funktionsdefinitionen speichere ich in einer Datei ab. Wie kann ich dann aber von der Kommandozeile aus auf diese Funktionen zugreifen.
Herzlichen Dank schon mal!
Ciao
Tom
ERIC4, Pfad der Kommandozeile
Ich arbeite unter eric4 und dachte, dass ich die gespeicherten Dateien mit den Funktionen direkt über das Shell-Fenster ansprechen kann. Das mit der import-Anweisung ist mir noch verständlich. Hab' z.B. eine funktionen.py im Pfad \\home\user\eric4 abgespeichert. Mit "import funktionen" komm' ich nicht weiter. Wie kann ich der Kommandozeile sagen, in welchem Pfad die Dateien mit dem Modul "funktionen" zu finden sind.
Eric nutzt ganz einfach das systemweite "Default-Python". Insofern hat SchneiderWeisse völlig recht.
Du kannst aber auch Dein Skript direkt laufen lassen (Start -> Run Script oder F2).
Was mich ein wenig irritiert ist, das Dein Pfad unter ubuntu " \\home\user\eric4" lauten soll. Abgesehen von der eher "windowesken Backslashsetzung": Gibt es bei Dir wirklich einen User "user"? Oder hast Du Dich da auf die Schnelle vertippt? Am besten einfach mal auf der Shell in das fragliche Verzeichnis wechseln und 'pwd' eingeben.
HTH
Christian
Du kannst aber auch Dein Skript direkt laufen lassen (Start -> Run Script oder F2).
Was mich ein wenig irritiert ist, das Dein Pfad unter ubuntu " \\home\user\eric4" lauten soll. Abgesehen von der eher "windowesken Backslashsetzung": Gibt es bei Dir wirklich einen User "user"? Oder hast Du Dich da auf die Schnelle vertippt? Am besten einfach mal auf der Shell in das fragliche Verzeichnis wechseln und 'pwd' eingeben.
HTH
Christian
@CM: Es handelt sich um kein Skript, dass ich starten will. So wie das Vorgehen im Buch vorgeschrieben wird, werden die Funktionen aus der Python-Shell ">>>" aufgerufen. Und wie ich der beibringe, dass die Funktionen unter //home/user/eric liegen.., das ist mein Problem. Ist aber nicht eric4-spezifisch, das Problem tritt ja auch auf, wenn ich die originäre Python-Shell starte und von der aus mit "import" Module einbinden will, die nicht im default-Pfad liegen - oder?.
"\\home\..." Natürlich vertippt, ich stehe noch immer mit einem Fuss in der MS-Welt und der User "user" ist auch nur eine Dummy-Angabe.
@cofi: Dann weiß man doch, wofür Foren gut sind!
Ciao
Tom
"\\home\..." Natürlich vertippt, ich stehe noch immer mit einem Fuss in der MS-Welt und der User "user" ist auch nur eine Dummy-Angabe.
@cofi: Dann weiß man doch, wofür Foren gut sind!
Ciao
Tom
Code: Alles auswählen
import sys
sys.path.insert(0, '/home/user/deinpfad')
import deinmodul
Bitte? Ich kenne das Buch nicht, aber das klingt ziemlich strange. Siehe Kommentar von cofi.planktom hat geschrieben:@CM: Es handelt sich um kein Skript, dass ich starten will. So wie das Vorgehen im Buch vorgeschrieben wird, werden die Funktionen aus der Python-Shell ">>>" aufgerufen. Und wie ich der beibringe, dass die Funktionen unter //home/user/eric liegen.., das ist mein Problem. Ist aber nicht eric4-spezifisch, das Problem tritt ja auch auf, wenn ich die originäre Python-Shell starte und von der aus mit "import" Module einbinden will, die nicht im default-Pfad liegen - oder?.
Es gibt auch nicht *einen* "default-Pfad". Alternativ zu SchneiderWeisses Variante, geht auch:
Code: Alles auswählen
sys.path.append('/home/user/deinpfad')
Code: Alles auswählen
export PYTHONPATH=${PYTHONPATH}:/home/user/deinpfad
Gruß,
Christian
Na ja, sinnvoll ist das eigentlich nur, wenn man so Programme mit Pythoninterface nutzen will, die keine gescheite setup-Routine haben. Bei eigenen Programmen & Paketen kann man sich besser ein ebensolches Setupskript basteln. Und bei kleinen (Test-)Skripten hilft auch eine der oben vorgestellen Alternativen oder der Wechsel in das Skriptverzeichnis und dann erst Python starten .
Hi,
war die Lösung.
@CM: Natürlich haben solche Code-Schnipsel keine "Setup-Routine", bin froh wenn ich das fehlerfrei schreiben kann. Auch dein vorgeschlagener Wechsel ins Skriptverzeichnis hilft. Wenn ich eric4 aus dem Skriptverzeichnis starte, dann kann ich mir obiges sparen.
Herzlichen Dank an alle! Jetzt sprech ich Python ... oder später!
Ciao
Tom
Code: Alles auswählen
import sys
sys.path.insert(0, '/home/user/deinpfad')
import deinmodul
@CM: Natürlich haben solche Code-Schnipsel keine "Setup-Routine", bin froh wenn ich das fehlerfrei schreiben kann. Auch dein vorgeschlagener Wechsel ins Skriptverzeichnis hilft. Wenn ich eric4 aus dem Skriptverzeichnis starte, dann kann ich mir obiges sparen.
Herzlichen Dank an alle! Jetzt sprech ich Python ... oder später!
Ciao
Tom