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.
Automatischer Programmstart unter Windows
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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?
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?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 16
- Registriert: Donnerstag 14. April 2005, 12:53
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
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
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?

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?
PS: Die angebotene Summe ist beachtlich.
-
- User
- Beiträge: 456
- Registriert: Mittwoch 15. April 2009, 14:11
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
Grüße,
anogayales
@Ü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.
A-Ha!!
Und wie stelle ich das an (Ich nutze Ubuntu 12.04)??
anogayales hat geschrieben:[...] Unter Linux sollte es aber auch kein Problem sein die Ausgabe im Terminal zu unterdrücken.

PS: Die angebotene Summe ist beachtlich.
@Ü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.