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
pythonw.exe startet nicht!!!
-
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.
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.
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.
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.
@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.
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.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.
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?
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.
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.
- 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
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.
# 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.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Dankesnafu hat geschrieben:`start` ist sowas ähnliches wie `xdg-open` unter Linux.Hyperion hat geschrieben:Was ist denn `start` für ein Befehl?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
