Python lackt
Normaler weiße kommt wenn man in der IDLE auf F5 drückt die Shell und dann wird der Code ausgeführt, in meinen Fall sollte ein Fenster kommen, tut es aber nicht, nach einiger Zeit kommt auf englisch eine Fehler meldung in der So viel steht wie "Subprocess konnte nicht Gestartet werden oder Firewall bockt den Vorgang." Wenn ich die Datei per Doppel klick aufrufe kommt auch nicht's bzw. wenn dann erst etwas später. Was kann man da machen?
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Wer Rechtschreibfehler findet darf sie behalten.
Auf *garkeinen* Fall uns den Quellcode deines Programmes zeigen! Der koennte ja Hinweise zur Problemloesung enthalten - und wir raten doch so gerne...
Ebenfalls bewaehrt hat es sich, Fehlermeldungen nicht im Wortlaut, sondern grob dem Sinn nach & dem eigenen Verstaendnis nach wiederzugeben. Auch und insbesondere, wenn sie in einer fremden Sprache verfasst ist. Alles andere wuerde Klarheit schaffen - und das ist ja nun das Letzte, dass man wollen kann.
Und jetzt noch ein paar prophylaktische Smilies:
Ebenfalls bewaehrt hat es sich, Fehlermeldungen nicht im Wortlaut, sondern grob dem Sinn nach & dem eigenen Verstaendnis nach wiederzugeben. Auch und insbesondere, wenn sie in einer fremden Sprache verfasst ist. Alles andere wuerde Klarheit schaffen - und das ist ja nun das Letzte, dass man wollen kann.
Und jetzt noch ein paar prophylaktische Smilies:
OK, mittlerweile kommt die Fehler Meldung wenn ich bloß die IDLE Starte.:
IDLE's subprocess didn't make connection. Either IDLE cant't start a subprocess or personal firewall software is blocking the connection.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Wer Rechtschreibfehler findet darf sie behalten.
Na, mensch - schon kann man googeln, und findet das hier:
http://stackoverflow.com/questions/8747 ... cess-error
Insbesondere das hier:
"""
I then have to go to Task Manager & stop all Pythonw processes to get it to work again?
"""
Also, mach das doch mal. Und wenn IDLE dann wieder laeuft, dann koennte man sich mal deinem Programm annehmen.
http://stackoverflow.com/questions/8747 ... cess-error
Insbesondere das hier:
"""
I then have to go to Task Manager & stop all Pythonw processes to get it to work again?
"""
Also, mach das doch mal. Und wenn IDLE dann wieder laeuft, dann koennte man sich mal deinem Programm annehmen.
OK, ich das liegt dann vieleicht doch am Code:
Aber wieso beenden die pythonw.exe sich nicht von alleine?
Aber wieso beenden die pythonw.exe sich nicht von alleine?
Code: Alles auswählen
import tkinter
import tkinter.filedialog as filedialog
import tkinter.messagebox as messagebox
import memorymaker
window = tkinter.Tk()
window.title('Memory Maker')
tkinter.Label(window, text='Startus:').grid(row=0, column=0, sticky='e')
startuslabel = tkinter.Label(window, text='Keine Aktionen verbleibend', width=40, fg='black', bg='red', font=('bold'))
startuslabel.grid(row=0, column=1, sticky='w')
doublefile_listbox = tkinter.Listbox(window, width=150, height=35)
doublefile_listbox.grid(row=1, column=1)
scrollbar = tkinter.Scrollbar(window)
scrollbar.pack(side='right', fill='y')
doublefile_listbox.config(yscrollcommand=scrollbar.set)
def appendpath():
path = filedialog.askdirectory()
startuslabel.config(text='Verzeichnis wird gescannt.')
window.update_idletasks()
memorymaker.scandirectory(path)
messagebox.showinfo('Info', 'Verzeichnis wurde gescannt.')
startuslabel.config(text='Keine Aktionen verbleibend')
def finddoublefiles():
startuslabel.config(text='Suche nach Doppelten Dateien.')
window.update_idletasks()
memorymaker.doublefiles = []
memorymaker.finddoublefiles()
startuslabel.config(text='Keine Aktionen verbleibend')
for path in memorymaker.doublefiles:
doublefile_listbox.insert('end', path)
menubar = tkinter.Menu(window)
filemenu = tkinter.Menu(menubar)
filemenu.add_command(label='Verzeichnis Scannen', command=appendpath)
filemenu.add_command(label='Doppelte Dateien Suchen', command=finddoublefiles)
filemenu.add_command(label='Beenden', command=exit)
menubar.add_cascade(label='Datei', menu=filemenu)
window.config(menu=menubar)
tkinter.mainloop()
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Wer Rechtschreibfehler findet darf sie behalten.
Sooo, da haben wir ja schon das Problem. Du schreibst ein Tkinter-Programm. Und versuchst, das aus IDLE zu starten. Und das geht nicht.
http://www.wspiegel.de/tkinter/idle_0_8/tk_idle.htm
Also dein Programm entweder auf der Kommandozeile starten (*nicht* durch Doppelklick, da siehst du keine Fehlermeldungen.....), oder den Tipps folgen, dann aber nicht vergessen, den mainloop wieder einzubauen, wenn du das Programm releasen willst.
http://www.wspiegel.de/tkinter/idle_0_8/tk_idle.htm
Also dein Programm entweder auf der Kommandozeile starten (*nicht* durch Doppelklick, da siehst du keine Fehlermeldungen.....), oder den Tipps folgen, dann aber nicht vergessen, den mainloop wieder einzubauen, wenn du das Programm releasen willst.
*seufz*
WAS geht nicht? Deine Toilettenspuelung? Der Fernseher? Der Mundgeruch deines Nachbarn? Oder eine von den beiden moeglichen Varianten, ein Tk-Programm unter IDLE laufen zu lassen? Wenn ja, welche denn?
WAS geht nicht? Deine Toilettenspuelung? Der Fernseher? Der Mundgeruch deines Nachbarn? Oder eine von den beiden moeglichen Varianten, ein Tk-Programm unter IDLE laufen zu lassen? Wenn ja, welche denn?
@deets
Man in unter IDLE sehr wohl auch Tkinter-Programme ausführen, allerdings mit einigen Einschränkungen. z.B musst du unter Windows einfach nur den Aufruf der "mainloop" auskommentieren, dann gibt es dort keine Probleme. (später natürlich wieder hinzufügen)
Edit: Sorry, steht ja schon in deinem Link, aber das mit dem OK-Klicken geht schon länger in den aktuellen IDLE-Version.
@Py-Prog
Ich würde einfach sagen, das du es unterlassen solltest mehrer Geometry-Manager auf einem Widget zu nutzen, dann geht das wieder wie von selbst. Und ersetze das exit, da unten durch window.destroy.
@all
Allerdings muss ich hier Py-Prog in Schutz nehmen, wenn man das nicht weiß, bzw. nicht merkt, ist es gerade für Einsteiger in Tk echt frustrierend. Ich habe selbst mal gut 4 Stunden zu gebracht einen solchen Fehler zu finden, denn es gibt nicht die geringste Fehlermeldung und der CPU läuft heiß.
Man in unter IDLE sehr wohl auch Tkinter-Programme ausführen, allerdings mit einigen Einschränkungen. z.B musst du unter Windows einfach nur den Aufruf der "mainloop" auskommentieren, dann gibt es dort keine Probleme. (später natürlich wieder hinzufügen)
Edit: Sorry, steht ja schon in deinem Link, aber das mit dem OK-Klicken geht schon länger in den aktuellen IDLE-Version.
@Py-Prog
Ich würde einfach sagen, das du es unterlassen solltest mehrer Geometry-Manager auf einem Widget zu nutzen, dann geht das wieder wie von selbst. Und ersetze das exit, da unten durch window.destroy.
@all
Allerdings muss ich hier Py-Prog in Schutz nehmen, wenn man das nicht weiß, bzw. nicht merkt, ist es gerade für Einsteiger in Tk echt frustrierend. Ich habe selbst mal gut 4 Stunden zu gebracht einen solchen Fehler zu finden, denn es gibt nicht die geringste Fehlermeldung und der CPU läuft heiß.
@xynon
Das es ein vertracktes Problem ist hat keiner bezweifelt.
Aber die Art der Praesentation, ohne konkrete Fehlermeldungen & Code, *die* ist der Grund zur Kritik gewesen. Ist ja weder sein erster Post hier, noch waere das etwas, dem man nicht staendig begegnet, wenn man hier mitliest.
Das es ein vertracktes Problem ist hat keiner bezweifelt.
Aber die Art der Praesentation, ohne konkrete Fehlermeldungen & Code, *die* ist der Grund zur Kritik gewesen. Ist ja weder sein erster Post hier, noch waere das etwas, dem man nicht staendig begegnet, wenn man hier mitliest.
@deets
Ich weiß, die Art und Weise könnte entgegenkommender sein, vorallem nach dem er ja schon länger hier ist. Aber bei diesem konkreten Problem gibt es keine Fehlermeldung und den Code hat er ja mittlerweile schon gepostet.
Ich weiß, die Art und Weise könnte entgegenkommender sein, vorallem nach dem er ja schon länger hier ist. Aber bei diesem konkreten Problem gibt es keine Fehlermeldung und den Code hat er ja mittlerweile schon gepostet.
Ich habe das selbe Problem bei mir get es 1x dann nichtmehr
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich weiß, dass er hier Leute gibt, die idle gerne verteidigen... aber, sollte man bei solchen Problemen nicht einfach darauf verzichten?
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
Stimmt doch gar nicht. Es gab eine Fehlermeldung (eines Folgefehlers), und genau die hat auch auf die richtige Faehrte gefuehrt.Xynon1 hat geschrieben:@deets
Ich weiß, die Art und Weise könnte entgegenkommender sein, vorallem nach dem er ja schon länger hier ist. Aber bei diesem konkreten Problem gibt es keine Fehlermeldung und den Code hat er ja mittlerweile schon gepostet.
Und das er den Code *mittlerweile* gepostet hat, ist ja schoen und gut. Aber zur Zeit meiner ersten Antwort eben nicht - ich kann ja schlecht auf eine hypothetische Zukunft hin schreiben...
@deets
Na klar man muss doch immer hypothetische Zukunft berücksichtigen - zumindest bei Py-Prog Du hast ja vollkommen recht, das ist keine Art so Hilfe einzufordern.
Aber dennoch die Fehlermeldung oben hat nichts mit dem eigentlichen Problem zutun. Das war ein Problem mit IDLE der durch die Blockierung des Ports auf dem die IDLE-Shell arbeitet hervorgerufen wurde. Das hat aber keinen Zusammenhang zum zweiten Fehler den die Geometry-Manager verursachen, dieser muss nicht zwangsläufig diese Fehlermeldung verursachen. Der Grund des Fehlers liegt hier wohl eher bei dem darauf folgenden Absturz von IDLE. Dabei wurde der Port warscheinlich nicht geschloßen und dann kommt es zu solchen Fehlern. Das muss aber nicht sein.
Das ganze kann man in einer beliebigen Linux-Distribution auch beobachten, wenn man zwei mal IDLE startet.
Edit: Habe den Schnippsel mal unter Windows getestet. Der Fehler liegt nicht mal im Absturz sondern, bei dem doppelten starten der IDLE-Shell. Ich unterstelle Py-Prog jetzt einfach mal, das er das Programm zweimal/mehrmals mit F5 gestartet hat, weil das Widget nicht sichtbar wurde wegen dem Geometry-Manager-Fehler. Der Fehler bleibt aber der gleiche.
@Hyperion
Wieso gerne verteidigen? - Ich finde es nur falsch eine IDE wegen einer kleinen Macke abzutun. Nutzen bzw. empfehlen würde ich IDLE auch nicht, aber wenn jemand damit arbeiten will, kann ich das durchaus akzeptieren.
Na klar man muss doch immer hypothetische Zukunft berücksichtigen - zumindest bei Py-Prog Du hast ja vollkommen recht, das ist keine Art so Hilfe einzufordern.
Aber dennoch die Fehlermeldung oben hat nichts mit dem eigentlichen Problem zutun. Das war ein Problem mit IDLE der durch die Blockierung des Ports auf dem die IDLE-Shell arbeitet hervorgerufen wurde. Das hat aber keinen Zusammenhang zum zweiten Fehler den die Geometry-Manager verursachen, dieser muss nicht zwangsläufig diese Fehlermeldung verursachen. Der Grund des Fehlers liegt hier wohl eher bei dem darauf folgenden Absturz von IDLE. Dabei wurde der Port warscheinlich nicht geschloßen und dann kommt es zu solchen Fehlern. Das muss aber nicht sein.
Das ganze kann man in einer beliebigen Linux-Distribution auch beobachten, wenn man zwei mal IDLE startet.
Edit: Habe den Schnippsel mal unter Windows getestet. Der Fehler liegt nicht mal im Absturz sondern, bei dem doppelten starten der IDLE-Shell. Ich unterstelle Py-Prog jetzt einfach mal, das er das Programm zweimal/mehrmals mit F5 gestartet hat, weil das Widget nicht sichtbar wurde wegen dem Geometry-Manager-Fehler. Der Fehler bleibt aber der gleiche.
@Hyperion
Wieso gerne verteidigen? - Ich finde es nur falsch eine IDE wegen einer kleinen Macke abzutun. Nutzen bzw. empfehlen würde ich IDLE auch nicht, aber wenn jemand damit arbeiten will, kann ich das durchaus akzeptieren.
Ich hab den Code erst nicht gepostet weil ich vermutete das es an was anderem liegt.
Und zweitens wenn mir zwei lösungs-vorschläge angeboten werden und ich schreibe dann es geht nicht, liegt es doch nahe das beide vorschlage nichts geholfen haben ...
aber trozt dem ein danke an euch alle dass ihr euch immer wieder mit mir abmüht.
@Xynon1 danke es lag an den pack, ich habs jetzt behoben.
Und zweitens wenn mir zwei lösungs-vorschläge angeboten werden und ich schreibe dann es geht nicht, liegt es doch nahe das beide vorschlage nichts geholfen haben ...
aber trozt dem ein danke an euch alle dass ihr euch immer wieder mit mir abmüht.
@Xynon1 danke es lag an den pack, ich habs jetzt behoben.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Wer Rechtschreibfehler findet darf sie behalten.