Fehler in einfachem Python-Programm - wer kann helfen?

  • Kann man das denn irgendwo einstellen, dass ausschließlich python 3 benutzt wird? Symbolic Link ändern oder so?

    Nein. Nur python ist und muss Python2 bleiben. Sonst fliegen dir andere Dinge um die Ohren. Das shebang wählt aber den richtigen Interpreter aus.

  • Fehler in einfachem Python-Programm - wer kann helfen?? Schau mal ob du hier fündig wirst!

  • Ne, ohne einen Python-Aufruf startet das Programm nicht. Zumindest nicht unter Raspbian mit den Standard-Einstellungen.

    das ist doch nicht wahr, dennis.

    absoluter/pfad/zum/script/testinput.py oder ins arbeitsverzeichnis navigieren und ./testinput.py

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

    Einmal editiert, zuletzt von Perlchamp (21. Mai 2020 um 15:11)

  • Dann funktioniert es. :blush:

    Das wäre dann ja auch eine Art "Lösung" für:

    Zitat

    Kann man das denn irgendwo einstellen, dass ausschließlich python 3 benutzt wird? Symbolic Link ändern oder so?

    Dadurch erspart er sich die Eingabe von "python" und durch den shebang wird die richtige Pythonversion ausgeführt?

    Grüße

    Dennis

    🎧 With the music execution and the talk of revolution, it bleeds in me and it goes 🎧

  • Dennis89 :

    wie __deets__ sagte: ausführbar machen ... geht auch mit rechtsklick auf das script >> dateieigenschaften >> berechtigungen >> ausführen >> jeder ...

    liegt das script direkt in /home/pi ?

    EDIT:

    du kannst auch folgendes (zusätzlich) machen/ausprobieren :

    script in inputtest umbenennen (ohne .py). dann aufrufen mit ./inputtest (im arbeitsverzeichnis) oder über

    absoluten/pfad/inputtest ...

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

    2 Mal editiert, zuletzt von Perlchamp (21. Mai 2020 um 15:32)

  • Perlchamp

    Vielleicht haben sich unsere Posts überschnitten. Habe ihm vorherigen Post #26 geschrieben, das es jetzt funktioniert.

    Daran habe ich gar nicht gedacht, dachte man kann den Pythonaufruf einfach so weglassen. :stumm:

    Ja das Skript liegt direkt in /home/pi. Das ist Raspbian auf einer virtuellen Maschinen, das nutze ich nur um verschiedene Sachen zu testen, deswegen hab ich es einfach kurz darein gelegt.

    Grüße

    Dennis

    🎧 With the music execution and the talk of revolution, it bleeds in me and it goes 🎧

  • ja, scheint so ... hast du mein 'EDIT' gelesen ?

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---

  • du kannst auch folgendes (zusätzlich) machen/ausprobieren :

    script in inputtest umbenennen (ohne .py). dann aufrufen mit ./inputtest (im arbeitsverzeichnis) oder über

    absoluten/pfad/inputtest ...

    Funktioniert auch :thumbup:

    Danke für die Tipps, hoffe es bringt dem TE auch etwas ^^

    Grüße

    Dennis

    🎧 With the music execution and the talk of revolution, it bleeds in me and it goes 🎧

  • Nein. Nur python ist und muss Python2 bleiben. Sonst fliegen dir andere Dinge um die Ohren. Das shebang wählt aber den richtigen Interpreter aus.

    Nun das ist schade. Wie gesagt das Programm läuft ausschließlich über den expliziten Aufruf python3 main.py. Das shebang scheint somit nicht zu funktionieren. Eigentlich sollte das ja kein Problem sein.

  • Shebangs funktionieren seit Jahrzehnten, und das tun sie auch hier. Du musst das halt richtig machen. In diesem thread wurde das diskutiert. Das Skript muss ausführbar sein, und natürlich darf man keinen Interpreter davor schreiben, sonst wird der ja nicht per shebang ermittelt.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!