ubuntuusers.de

Python: #!/usr/bin/env python3 unter Ubuntu 20.04 funktioniert nicht

Status: Ungelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

marlem

Avatar von marlem

Anmeldungsdatum:
12. Juli 2016

Beiträge: 139

Wohnort: Dußlingen

Hallo,

ich habe das hier unter Ubuntu 20.04 getestet:

1
#!/usr/bin/env python3

Ich bekomme die Fehlermeldung dass der Interpreter nicht gefunden werden kann.

Frage: Was mach ich falsch?

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13174

marlem schrieb:

ich habe das hier unter Ubuntu 20.04 getestet:

1
#!/usr/bin/env python3

Ich bekomme die Fehlermeldung dass der Interpreter nicht gefunden werden kann.

Frage: Was mach ich falsch?

Ich habe leider kein 20.04 hier, aber warum verwendest Du env? Kann sein, dass das irgendwann mal einen Nutzen hatte, aber ich sehe ihn nicht. (env sucht das Kommando in $PATH, aber das will man eigentlich nicht - es sei denn, das Programm muss auf mehreren Systemen laufen, die andere Pfade zu python3 haben.) Probier mal:

1
#!/usr/bin/python3

PS: Du kannst mit type -a python3 nachschauen, unter welchen Pfaden es den Interpreter gibt.

marlem

(Themenstarter)
Avatar von marlem

Anmeldungsdatum:
12. Juli 2016

Beiträge: 139

Wohnort: Dußlingen

Danke für die Antwort. Ich habe folgendes gemacht: type -a python3 Ergebnis: python3 ist /usr/bin/python3 python3 ist /bin/python3

Dann in die Pythondatei das hier eingetragen:

1
#!/usr/bin/python3

Berechtigung gesetzt:

chmod +x PQTTexteditor.py

Dann versucht Pythondatei auszuführen:

./PQTTexteditor.py

Folgende Fehlermeldung kommt:

bash: ./PQTTexteditor.py: /usr/bin/python3^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden

Was habe ich falsch gemacht?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11248

Wohnort: München

Das sieht so aus, als hättest du Windows-Zeilenenden in die Datei gebracht. dos2unix sollte da z.B. Abhilfe schaffen, wenn dein bevorzugter Texteditor nicht dazu in der Lage ist die Zeilenenden von \r\n auf \n umzustellen.

marlem

(Themenstarter)
Avatar von marlem

Anmeldungsdatum:
12. Juli 2016

Beiträge: 139

Wohnort: Dußlingen

Danke! Ich entwickle unter Windows mit PyCharm. Kann ich da was einstellen?

dos2unix hat funktioniert. Danke!

marlem

(Themenstarter)
Avatar von marlem

Anmeldungsdatum:
12. Juli 2016

Beiträge: 139

Wohnort: Dußlingen

Ich glaube meiner Fehler liegt in dieser Zeile:

1
#!/usr/bin/python3/python

Wenn ich die Python-Datei im Terminal so aufrufe:

python3 PQTTexteditor.py

Dann funktioniert es mit der selben Datei.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11248

Wohnort: München

marlem schrieb:

Ich glaube meiner Fehler liegt in dieser Zeile:

1
#!/usr/bin/python3/python

Ja, entweder du nutzt einen Shebang, bei dem der Python3-Interpreter durch Umgebungsvariablen wie den PATH beeinflusst werden darf (nützlich, wenn man Virtuelle Umgebungen (venv) nutzt):

#!/usr/bin/env python3

Oder alternativ, wenn du das System-Python3 haben willst:

#!/usr/bin/python3

Wenn ich die Python-Datei im Terminal so aufrufe:

python3 PQTTexteditor.py

Dann funktioniert es mit der selben Datei.

Klar, damit wird der Shebang gar nicht erst evaluiert.

marlem schrieb:

Ich entwickle unter Windows mit PyCharm. Kann ich da was einstellen?

Sieht so aus: https://www.jetbrains.com/help/pycharm/configuring-line-endings-and-line-separators.html

marlem

(Themenstarter)
Avatar von marlem

Anmeldungsdatum:
12. Juli 2016

Beiträge: 139

Wohnort: Dußlingen

Du Held!

Das hier:

1
#!/usr/bin/python3

Aufruf in der Console:

/PQTTexteditor.py

Texteditor startet!

Danke!

Antworten |