Wie startet ihr eure Skripte und Programme unter Windows?

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.
bremer
User
Beiträge: 109
Registriert: Sonntag 25. Mai 2008, 00:13

Samstag 28. Februar 2009, 15:32

Erstellt ihr eine .exe? Ruft ihr die Python-Skripts in der Konsole ab oder speichert ihr alles als Module und ruft es dann direkt über Python auf?
Benutzeravatar
snafu
User
Beiträge: 5440
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Samstag 28. Februar 2009, 15:43

Kommt ja wohl drauf an, worum es geht. Für meine eigenen Skripte brauch ich keine EXE. Und ansonsten halt:

Brauche ich etwas zur Weiterverwendung in Python? - Modul in Python aufrufen
Habe ich mir ein paar Optionen für die Kommandozeile gemacht - Kommandozeile

Irgendwie logisch, oder? Ich finde die Frage ehrlich gesagt auch etwas banal.

Oder noch etwas anders gesagt: Oft habe ich eine main(), die noch andere Funktionen nach einem bestimmten Ablauf aufruft und die eigentlich für den direkten Aufruf von der Kommandozeile ausgelegt ist. Wenn ich nur Teile nutzen will, dann gehe ich in den Interpreter und rufe die passende Funktion auf.
Zuletzt geändert von snafu am Samstag 28. Februar 2009, 15:47, insgesamt 1-mal geändert.
shcol (Repo | Doc | PyPi)
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

Samstag 28. Februar 2009, 15:46

Ähm, du weißt schon, dass Python interpretiert werden muss? Und man somit immer den Pythoninterpreter aufrufen muss (ob über Konsole, IDLE, oder Doppelklick), um das Script auszuführen?
Ist dann letztendlich egal, wie und wo man da was aufruft, im Endeffekt ist es das selbe.
bremer
User
Beiträge: 109
Registriert: Sonntag 25. Mai 2008, 00:13

Samstag 28. Februar 2009, 16:14

In der Konsole muss ich erst ins Verzeichnis von Python wechseln und dann mühselig den Pfad zur Datei mit angeben. Das ist mir halt zu langsam.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Samstag 28. Februar 2009, 16:15

bremer hat geschrieben:In der Konsole muss ich erst ins Verzeichnis von Python wechseln und dann mühselig den Pfad zur Datei mit angeben. Das ist mir halt zu langsam.
Na dann würde ich mal die python.exe in den PATH eintragen ;-) dann kannste das ein wenig schneller realisieren!

EDIT: [wiki]FAQ#WieStarteIchSkripte[/wiki]
Zuletzt geändert von Hyperion am Samstag 28. Februar 2009, 16:16, insgesamt 1-mal geändert.
DasIch
User
Beiträge: 2435
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Samstag 28. Februar 2009, 16:16

Setz Python in die PATH Variable dann ist das nicht notwendig.
Benutzeravatar
snafu
User
Beiträge: 5440
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Samstag 28. Februar 2009, 17:03

Irgendwo hier wurde sogar mal beschrieben, wie man Skripte ohne das ``python`` davor ausführen kann. Also quasi wie bei ausführbaren Dateien unter Linux mittels Shebang.
shcol (Repo | Doc | PyPi)
Benutzeravatar
HerrHagen
User
Beiträge: 430
Registriert: Freitag 6. Juni 2008, 19:07

Samstag 28. Februar 2009, 18:08

Unter Windows hast du deine .py Dateien normalerweise mit dem Python-Interpreter verknüpft. Dies geschieht durch die Windows Standard-Installation automatisch. Danach kannst du einfach wie bei jeder exe doppelt auch die Datei klicken. Durch die shell hangeln braucht man also für das einfache Starten von Python-Programmen nicht. Shebang erst recht nicht (höchtens für irgendwelche Webserver-Sachen). Ich versteh nicht ganz wo das Problem ist.
Wenn du in die Umgebungsvariable PATHTEXT (Systemvariablen) .py mit einträgst kannst du über die Windows Shell Python Programme auch ohne die Executable davor (python.exe) und ohne Erweiterung, starten - genau wie normale exe'n. Das war das was snafu meinte.

MFG HerrHagen
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Samstag 28. Februar 2009, 20:11

Oft ist es aber praktisch das ganze in der Shell zu machen, da man dann die Fehlermeldungen sieht.
bremer
User
Beiträge: 109
Registriert: Sonntag 25. Mai 2008, 00:13

Samstag 28. Februar 2009, 20:44

HerrHagen hat geschrieben:Unter Windows hast du deine .py Dateien normalerweise mit dem Python-Interpreter verknüpft. Dies geschieht durch die Windows Standard-Installation automatisch. Danach kannst du einfach wie bei jeder exe doppelt auch die Datei klicken. Durch die shell hangeln braucht man also für das einfache Starten von Python-Programmen nicht. Shebang erst recht nicht (höchtens für irgendwelche Webserver-Sachen). Ich versteh nicht ganz wo das Problem ist.
Wenn du in die Umgebungsvariable PATHTEXT (Systemvariablen) .py mit einträgst kannst du über die Windows Shell Python Programme auch ohne die Executable davor (python.exe) und ohne Erweiterung, starten - genau wie normale exe'n. Das war das was snafu meinte.

MFG HerrHagen
Automatisch wurde bisher nichts eingestellt.

Ich habe Path und Pathext soweit geändert. Nur das Starten per Doppelklick funktioniert noch nicht. Die Konsolenfenster werden einfach sofort wieder geschlossen.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Samstag 28. Februar 2009, 23:19

Dann gibt es einen Fehler?!?
Oder dein Programm ist so schnell fertig das du es nicht sehen kannst.
Mach mal am ende des Scripts ein `raw_input()` dann bleibt das Fenster offen bis du die Enter drückst, außer es gibt einen Fehler, dann geht das Programm auch einfach zu.
DasIch
User
Beiträge: 2435
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Samstag 28. Februar 2009, 23:33

Sr4l hat geschrieben:Mach mal am ende des Scripts ein `raw_input()` dann bleibt das Fenster offen bis du die Enter drückst, außer es gibt einen Fehler, dann geht das Programm auch einfach zu.
Deswegen macht man dass nicht und verwendet atexit wie Leonidas hier zeigt.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 1. März 2009, 03:54

Die richtige Lösung wäre ja Programme in der Konsole zu starten, dann hat man das Problem gar nicht erst und muss sich keine solchen Hacks ausdenken. :)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
HerrHagen
User
Beiträge: 430
Registriert: Freitag 6. Juni 2008, 19:07

Sonntag 1. März 2009, 17:29

Um dieses Problem zu lösen habe ich eine zusätzliche verknüpfte Aktion (Öffnen -i) für .py Dateien registriert (Ordneroptionen-Dateitypen-Erweitert):

Code: Alles auswählen

C:\Python25\python.exe -i %1
Du kannst das dann im rechte Maustaste-Menü auswählen. Damit verbleibt der Python-Interpreter nach Beendigung deines Programms im interaktiven Modus - auch bei Fehlern.

MFG HerrHagen
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Dienstag 3. März 2009, 13:31

Ich starte meine immer im CP auch wenn ich windoof benutze.
Hab halt noch IDLE :oops: :roll:
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
Antworten