Unterschied "python test.py" und "test"

Probleme bei der Installation?
Antworten
wivaxing
User
Beiträge: 21
Registriert: Mittwoch 17. Oktober 2007, 14:16

Montag 22. Oktober 2007, 10:07

Hi,

wo kann der Unterschied liegen wenn die Ausführung eines Scriptes mit

"python test.py" funktioniert
"test" oder "test.py" aber nicht immer.

Es scheint um irgendwelche Pfade und Imports zu gehen, wo kann ich aber finden, wie er sich in diesen Szenarios unterschiedlich verhält und dieses unterschiedliche Verhalten ändern bzw. angleichen?

danke
meneliel
User
Beiträge: 256
Registriert: Montag 25. Juni 2007, 08:35
Kontaktdaten:

Montag 22. Oktober 2007, 10:16

Rufst du es von unterschiedlichen Betriebssystemen auf?
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Montag 22. Oktober 2007, 10:22

Unter Linux:

Code: Alles auswählen

$ test.py
ist das gleiche wie

Code: Alles auswählen

$ python test.py
wenn:
1. test.py Ausfuehrrechte hat
2. in der Shebang der gleiche Interpreter aufgerufen wird wie mit dem Befehl "python"
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
meneliel
User
Beiträge: 256
Registriert: Montag 25. Juni 2007, 08:35
Kontaktdaten:

Montag 22. Oktober 2007, 10:39

unter Windows funktioniert auch

Code: Alles auswählen

test.py
Aber das kommt wohl auf die Windowsversion an...


Bei mir funktioniert sogar

Code: Alles auswählen

python test.py
gar nicht.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Montag 22. Oktober 2007, 11:03

meneliel hat geschrieben:Bei mir funktioniert sogar

Code: Alles auswählen

python test.py
gar nicht.
Das liegt ganz klar an den Umgebungsvariablen.

Systemsteuerung --> System --> Erweitert --> Umgebungsvariablen --> Bei Systemvariablen unter PATH den Pfad zu Python hinzufügen.

Dann sollte das auch gehen.
meneliel
User
Beiträge: 256
Registriert: Montag 25. Juni 2007, 08:35
Kontaktdaten:

Montag 22. Oktober 2007, 11:11

och, kann es ja aber normal aufrufen, in dem ich z.B nur test.py eingebe, ohne python davor.


Interessant wäre nun aber trotzdem, warum test.py bei wivaxing nur manchmal funktioniert.

Müsste doch wenn dann immer gehen?
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Montag 22. Oktober 2007, 17:06

meneliel hat geschrieben:unter Windows funktioniert auch

Code: Alles auswählen

test.py
Aber das kommt wohl auf die Windowsversion an...
Eher auf die Einstellungen. Bei mir öffnet sich dann mein Editor und lädt das genannte Python-Script. Es hängt von der Standardaktion ab, die unter Windows für den jeweiligen Dateityp eingestellt ist. Der Default ist das Ausführen mit Python, daher wird dein Programm gestartet, bei mir wäre das nicht der Fall.
meneliel hat geschrieben:Bei mir funktioniert sogar

Code: Alles auswählen

python test.py
gar nicht.
Bei mir schon. Dazu habe ich das Verzeichnis der Python-Installation in die Pfad-Umgebungsvariable aufgenommen. Das kann z.B. über die `AUTOEXEC.BAT` mittels dieser Zeile erfolgen:

Code: Alles auswählen

PATH=%PATH%;C:\Programme\Python;C:\Programme\Python\Scripts
Der zweite Pfad enthält bei mir ebenfalls ausführbare Dateien (Wrapper-Executables für Python-Scripts, die teils von setuptools, teils manuell mit dem ExeMaker von Fredrik Lundh erstellt wurden).
wivaxing
User
Beiträge: 21
Registriert: Mittwoch 17. Oktober 2007, 14:16

Montag 29. Oktober 2007, 11:26

Vielen Dank.

Ich vermute das irgendwo eine zweite Config-Datei oder ähnliches liegt und das so manche externe Bibliotheken nicht geladen werden können. Allerdings konnte ich da so nichts finden und die Environments scheinen korrekt zu sein.

Der einzige Unterschied, der mir vom Start weg aufgefallen ist. Wenn ich mit python Test.py starte, enthält argv=['Test.py'], beim Start nur durch Test.py den kompletten Pfad argv=['E:\\MyProjects\\Python\\Test.py']

:?: :?
Antworten