pythonw.exe startet nicht!!!

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
Benutzeravatar
zizou2981
User
Beiträge: 59
Registriert: Donnerstag 23. Juni 2011, 21:46

Hallo,

ich habe vo kurzem python2.7 installiert und ich habe einen Skript geschrieben, den ich als (.pyw) datei starten möchte, aber pythonw.exe funktioniert scheinbar nicht. Mit python2.5 hat früher schon funktioniert!!!

kann jemand mir sagen woran es genau liegen kann?

Danke
Zuletzt geändert von zizou2981 am Mittwoch 23. November 2011, 12:18, insgesamt 1-mal geändert.
deets

Wenn es nicht funktioniert, dann liegt das bestimmt daran, dass du den Fluxkompensator nicht richtig kalibriert hast. Dazu musst du deinen Computer mit mindestens 88 Meilen pro Stunde gegen die Wand werfen. Das entspricht 141.622272 km/h. Da wirst du ein bisschen ueben muessen, bis du da praezise genug bist mit deiner Wurftechnik.
Benutzeravatar
zizou2981
User
Beiträge: 59
Registriert: Donnerstag 23. Juni 2011, 21:46

@deet : ich probiere zuerst was anders;-)

danke trotzdem für den Tipp.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Was deets mit seinem Beitrag ausdrücken wollte: Wir können nicht hellsehen. "Funktioniert nicht" ist keine Fehlerbeschreibung auf die man irgendwie aufbauen könnte. Das könnte im Prinzip alles bedeuten. Starte dein Script einfach mal über die Konsole, wahrscheinlich wirft es eine Exception.
Das Leben ist wie ein Tennisball.
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Probier es am besten mal mit einer vernünftigen Fehlerbeschreibung und gern auch mit weniger Ausrufezeichen. :)
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Die Frage ist ja auch: Startet Python wirklich nicht oder startet es und gibt aber eine Fehlermeldung zurück?
Benutzeravatar
zizou2981
User
Beiträge: 59
Registriert: Donnerstag 23. Juni 2011, 21:46

Der Skript ist eigentlisch ein XML-RPC Server ich habe ihn schon mit python.exe gestartet und funktioniert einwandfrei. Wenn ich aber den skript mit pythonw starte, dann wird der Server nicht gestartet und der pythonw.exe prozess erscheint nicht unter Windows-Prozesse.
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Es kann trotzdem sein, dass Python kurz aufgerufen wird, aber dann sofort mit Fehlermeldung beendet ist. Dann bekommt man das auch nicht in der Liste der aktiven Prozesse mit. Leitest du die (Fehler-)Ausgabe denn in irgendwelche Logdateien wo du nachsehen könntest? Ansonsten mal den Aufruf direkt in der Windows-Shell machen.
Benutzeravatar
zizou2981
User
Beiträge: 59
Registriert: Donnerstag 23. Juni 2011, 21:46

@snafu: das ganze habe ich schon probiert, und wie gesagt als (.py) Datei funktioniert der skript einwanfrei aber ich habe den skript zu (.pyw) umbenannt damit er im Hintergrund läuft aber hat leider nich funktioniert und es kommt eigentlisch keine Fehlermeldung, auch wenn ich das mit cmd starte kommt auch keine Fehlermeldung, aber der Server wird trotzdem nicht gestartet. Sogar der prozess pythonw.exe ist unter Systemprozesse nicht zu sehen.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

zizou2981 hat geschrieben:@snafu: das ganze habe ich schon probiert, und wie gesagt als (.py) Datei funktioniert der skript einwanfrei aber ich habe den skript zu (.pyw) umbenannt damit er im Hintergrund läuft aber hat leider nich funktioniert und es kommt eigentlisch keine Fehlermeldung, auch wenn ich das mit cmd starte kommt auch keine Fehlermeldung, aber der Server wird trotzdem nicht gestartet.
Fassen wir noch einmal zusammen: Du öffnest eine Konsole, gibst dort pythonw skriptname.pyw ein und es geschieht gar nichts. Es erscheint einfach wieder der Command-Prompt.

Was passiert denn, wenn du in der Konsole python scriptname.pyw aufrufst und was passiert, wenn du pythonw scriptname.py aufrufst?

Was passiert, wenn du als erste Aufgabe des Skripts mit print eine Ausgabe vornimmst?
Benutzeravatar
zizou2981
User
Beiträge: 59
Registriert: Donnerstag 23. Juni 2011, 21:46

also es sieht so aus:

ich starte zuerst mit cmd mein XML-RPC-Server (myscript.py) und das mache ich so:

cd /D (Pfad zu meinem Skript)
start myskript.py

==> hier wird der Skript richtig gestartet und die Kommunikation zwischen XML-RPC-Server und XML-RPC-Client (ein andere Skript) läuft ganz gut. (python.exe prozess ist auch im Systemprozesse zu finden)

Ich möchte aber mein XML-RPC-SERVER (myscript.py) im Hintergrund laufen lassen, deswegen habe ich ihn zu (myscript.pyw) umbenannt und dann habe ich versucht den skript nochmal mit cmd zu starten (direkt starten funktioniert auch nicht) und das habe ich so gemacht:

cd /D (Pfad zu meinem Skript)
start myskript.pyw

Da kommt zwar keine Fehlermeldung raus aber der Skript wurde nicht gestartet und unter Systemprozesse konnte ich den pythonw.exe prozess nicht finden. Wenn ich den XML-RPC-Client starte, dann schlägt die Verbindung fehl und das ist normal, weil der Server (myscript.pyw) nicht gestartet wurde.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Was ist denn `start` für ein Befehl? Wieso benutzt Du nicht explizit den Interpreter `python.exe`? Und Du kannst ruhig die komplette Shell-Session hier "pasten" - nutze einfach einen Code-Tag ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
deets

Dann verzichte doch mal auf dieses start-Zeug, und starte


# pythonw.exe meinscript.py

Wenn das klappt, dann stimmt nur die Assoziation zwischen pyw-Endung und dem pythonw.exe nicht. Und dann solltest du dir ueberlegen, ob du das nicht auch lieber nicht benutzt, sondern den Service (wenn sowas geht) explizit als pythonw.exe mit Argument meinscript.py startest - denn sonst installierst du irgendwann python 3, und alles ist kaputt.
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Hyperion hat geschrieben:Was ist denn `start` für ein Befehl?
`start` ist sowas ähnliches wie `xdg-open` unter Linux.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

snafu hat geschrieben:
Hyperion hat geschrieben:Was ist denn `start` für ein Befehl?
`start` ist sowas ähnliches wie `xdg-open` unter Linux.
Danke :-) Nuja, muss man ja nicht nutzen ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
zizou2981
User
Beiträge: 59
Registriert: Donnerstag 23. Juni 2011, 21:46

@deet: danke für den Tipp.
ich habe es jetzt so gemacht:

#python.exe myscript.pyw

und es hat geklappt.

Danke und es tut mir leid, falls ich euch genervt habe.
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Du hast ja am Ende noch mehr oder weniger die Kurve gekriegt. ;)
Antworten