Python lackt

Probleme bei der Installation?
Antworten
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

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.
deets

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: :) :D ;) :roll: :shock: :? :P :mrgreen:
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

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.
deets

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.
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

OK, ich das liegt dann vieleicht doch am Code:
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.
deets

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.
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Geht auch nicht.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
BlackJack

@Py-Prog: *Was* geht auch nicht? Was hast Du gemacht, und was kam dabei heraus?
deets

*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?
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

@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ß.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
deets

@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.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

@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.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

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
Benutzeravatar
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
deets

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.
Stimmt doch gar nicht. Es gab eine Fehlermeldung (eines Folgefehlers), und genau die hat auch auf die richtige Faehrte gefuehrt.

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...
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

@deets
Na klar man muss doch immer hypothetische Zukunft berücksichtigen - zumindest bei Py-Prog :P 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.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

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.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Antworten