Seite 1 von 1

Automatischer Programmstart unter Windows

Verfasst: Mittwoch 20. April 2005, 12:48
von langeLeitung
Hallo nochmal!

In meinem Python-Buch steht, dass man Skripte, die tkinter verwenden, die Endung "*.pyw" geben soll.
Dann kann man Programm unter Windows mit Doppelklick starten.

Leider funktioniert das bei mir nicht. Unter Win NT nicht und unter Win98 auch nicht.

Die Festplatte rappert kurz, aber es geht kein Fenster auf. Die Skripte starten nur, wenn ich "python dateiname.pyw" in der Dosbox eingebe.

In den Dateieinstellungen habe ich auch mal nachgeguckt, und Windows verknüpft "*.py" und "*.pyw" mit dem Python-Interpreter.

Könnt ihr mir helfen?

Edit (Leonidas): Thread nach "Allgemeine Fragen" verschoben, da die Frage mit Tkinter nichts zu tun hat.

Verfasst: Mittwoch 20. April 2005, 13:13
von Leonidas
Also ersteinmal: Das hat nichts mit Tkinter zu tun. Der Unterschied von .py und .pyw besteht darin, was beim Doppelklick aufgerufen wird. Bei .py wird der Python Interpreter python.exe aufgerufen, der beim Starten ein Textmodus-Fenster aufmacht.Dagegen werden .pyw Dateien vom Python Interpreter pythonw.exe ausgeführt, der exakt das gleiche tut, nur eben kein Textfenster aufmacht. Das liegt daran, das Windows eine schwarz/weiß Unterteilung hat: entweder macht ein Programm ein Textfenster auf oder nicht. Deswegen werden oft Python Programme die selbst eine grafische Oberfläche haben als .pyw Dateien bespeichert, damit nicht dieses Textfenster aufgeht und stört.

Womit ist bei dir .pyw verknüpft? Mit python.exe oder pythonw.exe?

Und: startet im Taskmanager unter Prozesse denn auch pythonw.exe wenn du Doppelklickst?

Verfasst: Donnerstag 21. April 2005, 06:32
von langeLeitung
Hallo Leonidas!

Danke für Deine schnelle Antwort.
Also: Unter Win98 funktioniert es plötzlich (wie von Geisterhand).

Unter Win NT geht es nicht. Es wird ein paar Sekundn auf die Festplatte zugegriffen, aber es wird kein neuer Prozess im Task-Manager angezeigt.
Die Verknüpfungen sind richtig gesetzt.

Naja, ist nicht so schlimm. Das Programm soll später auf dem Win98-Rechner laufen. Ich schreibe es nur unter NT, weil man da abgestürzte Prozesse besser abschießen kann...

Schönen Tag noch wünscht
Stefan

Re: Automatischer Programmstart unter Windows

Verfasst: Montag 22. Oktober 2012, 18:35
von Üpsilon
Aber auf meinem Linux (Ubuntu 12.04) ist das nicht der Fall!! :?:
Wenn ich das Python-Skript mit .pyw am Ende bei
Rechtskl. -> Eigenschaften -> Zugriffsrechte -> Datei als Programm ausführen
markiert habe und dann mit Doppelklick starte, geht die Konsole trotzdem auf!
Ist das normal??

PS: Ich weiß, dass der Thread total alt ist, aber weil's ihn schonmal gibt, kann ich es doch nach 7 Jahren hier reinschreiben, ne?

Re: Automatischer Programmstart unter Windows

Verfasst: Montag 22. Oktober 2012, 18:41
von anogayales
Das mit pyw funktioniert nur unter Windows. Unter Linux sollte es aber auch kein Problem sein die Ausgabe im Terminal zu unterdrücken.

Grüße,
anogayales

Re: Automatischer Programmstart unter Windows

Verfasst: Montag 22. Oktober 2012, 18:41
von BlackJack
@Üpsilon: Diesen Unterschied zwischen Konsolen- und Fenterprogrammen in den Binärprogrammen gibt es auch nur unter Windows. Dass bei Dir eine Konsole geöffnet wird, ist nicht unter jedem Linux beziehungsweise jeder Desktop-Umgebung so.

Re: Automatischer Programmstart unter Windows

Verfasst: Dienstag 23. Oktober 2012, 14:07
von Üpsilon
A-Ha!!
anogayales hat geschrieben:[...] Unter Linux sollte es aber auch kein Problem sein die Ausgabe im Terminal zu unterdrücken.
:arrow: Und wie stelle ich das an (Ich nutze Ubuntu 12.04)??

Re: Automatischer Programmstart unter Windows

Verfasst: Dienstag 23. Oktober 2012, 17:27
von BlackJack
@Üpsilon: Das Programm einfach nicht in einem Terminal starten oder von einem Programm aus, welches erst ein Terminal öffnet und da drin Dein Programm ausführt. Ob, wo, und wie man letzteres einstellt, hängt vom Programm ab mit dem Du Dein Programm startest.

Re: Automatischer Programmstart unter Windows

Verfasst: Mittwoch 24. Oktober 2012, 11:29
von Üpsilon
Hmhmmmm, danke.