Programm unter Linux ausführen

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
breathe_easy
User
Beiträge: 58
Registriert: Sonntag 29. Juli 2007, 18:34

Diese Frage ist schön oefter aufgetaucht, aber ich bin leider aus den bisher gelesenen Antworten nicht schlau geworden, deshalb nochmal:
Wie kann ich ein im Editor Kate geschriebenes script so abspeichern, dass es einfach durch anklicken laeuft?
#!/usr/bin/python steht als erste Zeile und chmod a+x dateiname ist auch schon erfolgt. Trotzdem funzt es nicht.
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

breathe_easy hat geschrieben:#!/usr/bin/python steht als erste Zeile und chmod a+x dateiname ist auch schon erfolgt. Trotzdem funzt es nicht.
Grundlegend liegst du ja schon richtig.

Ich würde

Code: Alles auswählen

#!/usr/bin/env python
nehmen und der Chmod befehl mit '' chmod +x dateiname '' ist auch richtig.

Was kommt denn nach einem Klick?

Führe sie mal mit

Code: Alles auswählen

./dateiname.py
von der Konsole aus und schaue, ob es überhaupt funktioniert.

Denn oft wird vergessen, dass ein Python-Programm selber dafür sorgen muss, das die Konsole offen bleibt. Ansonsten wird alles ausgeführt und die Konsole wieder geschlossen.

Anders natürlich, wenn du eine GUI verwendest.


MFG EnTeQuAk
Zuletzt geändert von EnTeQuAk am Donnerstag 16. August 2007, 14:29, insgesamt 1-mal geändert.
breathe_easy
User
Beiträge: 58
Registriert: Sonntag 29. Juli 2007, 18:34

Also aus der Konsole mit ./dateiname öffnen funktioniert einwandfrei. Nur das Anklicken funktioniert noch nicht. Warum anstelle #!usr/bin/python der Zusatz env?
Ich habe es aber mal ausprobiert, funktioniert trotzdem nicht.

mfg breathe_easy
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

breathe_easy hat geschrieben:Also aus der Konsole mit ./dateiname öffnen funktioniert einwandfrei. Nur das Anklicken funktioniert noch nicht.
Kann es sein, dass es zwar funktioniert, du es aber nicht merkst? Wenn du keine GUI hast, wird das Programm wahrscheinlich einfach ausgefuehrt, ohne dass du die Konsolen-Ausgaben siehst, da evtl. nicht automatisch eine Konsole geoeffnet wird.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hoi,

gib' mal 'env' auf der Konsole ein. Na?
Wenn Du Python auf einem anderen Rechner nicht unter /usr/bin/python hast, aber sonst wo in PATH, dann sollte der shebang mit env immer noch gehen.

Bist Du Dir sicher, daß das Anklicken nicht funktioniert, wenn Du das Skript doch von der Konsole starten kannst? Was soll das Skript denn machen? Erwartest Du, daß irgendwas auf dem Bildschirm passiert?

Gruß,
Christian

PS EnTeQuAk hat das Ausrufezeichen im shebang vergessen, aber das ist hoffentlich nicht das Problem gewesen.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

CM hat geschrieben:Wenn Du Python auf einem anderen Rechner nicht unter /usr/bin/python hast, aber sonst wo in PATH, dann sollte der shebang mit env immer noch gehen.
...es sei denn, env ist nicht da, wo du es erwartest...
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Ja, zugegeben, so ganz sicher ist auch das nicht. Bin auch schon damit gegen die Wand gelaufen ...
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Jedenfalls sicherer, als den Pfad absolut anzugeben (meine Meinung).

CM hat geschrieben: PS EnTeQuAk hat das Ausrufezeichen im shebang vergessen, aber das ist hoffentlich nicht das Problem gewesen.
War ein versehen, habs verbessert.


@breathe_easy:

Wenn du dir jetzt nicht ganz sicher bist, was wir immer mit Ausgaben etc. meinen, baue doch einfach mal am Ende deines Scriptes folgende Zeile ein, *sollte sie nicht existieren*:

Code: Alles auswählen

if __name__ == '__main__':
    print "Ich werde aufgerufen"
Und führe es nochmal aus. (Auf der Konsole)


MFG EnTeQuAk
breathe_easy
User
Beiträge: 58
Registriert: Sonntag 29. Juli 2007, 18:34

Als erstes möchte ich mich für die schnellen und auch hilfreichen Antworten bedanken. Dies war mein erster Kontakt mit diesem Forum und ich habe nicht mit einem so tollen "Empfang" gerechnet. Danke!!
Mein Problem ist mittlerweile gelöst, indem ich einfach beim Anklicken des Programms "öffen mit"=> Python als Standarteinstellung gewählt habe.

MfG und in diesem Sinne breathe_easy!!!
Antworten