Hi ihr,
ich hab hier eine debian-maschine, auf der Python 2.4.4 läuft.
Wenn ich in der Kosole Python eingebe, funktioniert Python einwandfrei.
Ich gebe z.B.
import sys
print "bla"
ein und alles funktioniert richtig.
Wenn ich aber eine Datei erstelle test.py und dasselbe reinschreibe, kommt:
./test.py: line 1: import: command not found
Warning: unknown mime-type for "bla" -- using "application/*"
Error: no such file "bla"
Irgendwas ist da faul, aber was?
Hoffe einer weiß die Antwort.
Mfg und Danke im Voraus,
DerTobi
Python problem unter debian
Oder noch besser:
#!/usr/bin/env python
als erste Zeile.
Unter Linux/Unix nennt sich diese Zeile shebang. Bei Skriptsprachen wie Perl, Python oder auch Shell-Skripte sagt das der Shell mit welchen Programm das folgende interpretiert werden soll. Die obige Zeile sagt also, wenn Du das Programm aufrufst, soll das Programm env (siehe "man env") den Pfad zum richtigen Python-Interpreter verwenden.
Wichtig ist dabei noch, dass das Skript ausführbar ist. D.h. das die Rechte entsprechend gesetzt sind. In einer Shell setzt Du die Rechte mit "chmod u+x Dateiname". Die Endung .py spielt unter Linux keine Rolle. Das ganze funktioniert auch, wenn Du die Datei nur als meinprogramm, statt meinprogramm.py benennst.
Mit test.py solltest Du das nicht machen, da es unter Linux standardmäßig ein Programm namens test gibt und dann wahrscheinlich dieses aufgerufen wird.
Weiterhin musst Du, wenn das aktuelle Verzeichnis nicht im Pfad angegeben ist dem Dateinamen noch einen Pfad voranstellen. Am einfachsten ist die Angabe des aktuellen Verzeichnisses als relativen Pfad ("./"). Also meinprogramm.py startest Du dann mit ./meinprogramm.py
Hoffe Du bist nicht so sehr verwirrt.
#!/usr/bin/env python
als erste Zeile.
Unter Linux/Unix nennt sich diese Zeile shebang. Bei Skriptsprachen wie Perl, Python oder auch Shell-Skripte sagt das der Shell mit welchen Programm das folgende interpretiert werden soll. Die obige Zeile sagt also, wenn Du das Programm aufrufst, soll das Programm env (siehe "man env") den Pfad zum richtigen Python-Interpreter verwenden.
Wichtig ist dabei noch, dass das Skript ausführbar ist. D.h. das die Rechte entsprechend gesetzt sind. In einer Shell setzt Du die Rechte mit "chmod u+x Dateiname". Die Endung .py spielt unter Linux keine Rolle. Das ganze funktioniert auch, wenn Du die Datei nur als meinprogramm, statt meinprogramm.py benennst.
Mit test.py solltest Du das nicht machen, da es unter Linux standardmäßig ein Programm namens test gibt und dann wahrscheinlich dieses aufgerufen wird.
Weiterhin musst Du, wenn das aktuelle Verzeichnis nicht im Pfad angegeben ist dem Dateinamen noch einen Pfad voranstellen. Am einfachsten ist die Angabe des aktuellen Verzeichnisses als relativen Pfad ("./"). Also meinprogramm.py startest Du dann mit ./meinprogramm.py
Hoffe Du bist nicht so sehr verwirrt.
"Just because I don't care - doesn't mean I don't understand."
Homer J. Simpson
Homer J. Simpson