Linux - Python

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
flou
User
Beiträge: 4
Registriert: Mittwoch 2. Juni 2010, 09:50

Hi,

seit einigen Tagen habe ich jetzt Ubuntu auf meinem Rechner, und wollte nun einige Pythonscripts
von Windows nach Ubuntu portieren..
Das Problem ist weniger Inkompatibilität, sondern mehr.. meine Unfähigkeit ;)
Wenn ich Scripte starten will (über das Terminal) bekomme ich immer die Fehlermeldung:

Code: Alles auswählen

not foundme/Test/test.py:3
So oder so ähnlich
EDIT: Wenn ich ein Terminal öffne, den Pfad manuell eingebe und dann mit python xxx.py aufrufe, klappt alles.
Allerdings kann ich es nicht durch Doppelklick aufrufen (dann auf "Im Terminal ausführen")

hoffe ihr könnt mir weiterhelfen

Grüße

Flo
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

flou hat geschrieben:seit einigen Tagen habe ich jetzt Ubuntu auf meinem Rechner, und wollte nun einige Pythonscripts
von Windows nach Ubuntu portieren..
Das Problem ist weniger Inkompatibilität, sondern mehr.. meine Unfähigkeit ;)
Wenn ich Scripte starten will (über das Terminal) bekomme ich immer die Fehlermeldung:

Code: Alles auswählen

not foundme/Test/test.py:3
Die Fehlermeldung klingt seltsam, aber das scheint sich um ein Problem mit dem Shebang zu handeln. Lies mal http://de.wikipedia.org/wiki/Shebang.
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

Um /me noch ein wenig zu konkretisieren:

Code: Alles auswählen

#!/usr/bin/python
Ganz oben vor allem anderen in dein Skript :wink:

Lg, Jonas

EDIT: ...und ausführbar machen nicht vergessen -> chmod
Tip mal

Code: Alles auswählen

man chmod
in deine Shell :-)
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Da ist garantiert noch ein unsichtbares ^M (aka \r) am Ende der ersten Zeile vor dem Zeilenumbruch. Windows benutzt \r\n als Zeilenendmarkierung, Unix nur \n.

Mit `tr -d '\r'` oder `dos2unix` oder ähnlichen Programmen entfernen und dann solle es klappen.

Stefan
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

jonas hat geschrieben:

Code: Alles auswählen

#!/usr/bin/python
mit env wäre es besser, für den Fall dass eine Distribution Python in einem anderen Verzeichnis installiert hat

Code: Alles auswählen

#!/usr/bin/env python
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
lunar

Die Distribution wird Python nicht in einem anderen Verzeichnis installieren, "env" dient nur dazu, manuell installierte Python-Versionen zu erkennen.
Antworten