Python problem unter debian

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
dobberph
User
Beiträge: 23
Registriert: Mittwoch 8. November 2006, 09:36

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
Das einzige, was leicht ist, ist verzweifeln...
dobberph
User
Beiträge: 23
Registriert: Mittwoch 8. November 2006, 09:36

#!/usr/bin/python2.4

Das in den Header der Pythondatei ist die Antwort... ;D
Das einzige, was leicht ist, ist verzweifeln...
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Besser
#!/usr/bin/python
dansch
User
Beiträge: 6
Registriert: Dienstag 4. September 2007, 21:19

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. :roll:
"Just because I don't care - doesn't mean I don't understand."
Homer J. Simpson
Antworten