Bus Error bei Download von *gz Datei auf Mac mit urlretrieve

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
Scyks
User
Beiträge: 17
Registriert: Freitag 3. August 2007, 09:03

Dienstag 22. Januar 2008, 08:01

Hallo ich versuche eine gz Datei us dem Netzt zu laden und bekomme dabei ständig einen Bus Error.

Ich habe schon gegooglt und readline Probleme entdeckt oder aber wxPython probleme beim updaten von Gauge oder Text.

Anbei mal mein code der den Download , entpaken und import abfertigt.

Der Status ist in einem Dialog zu sehen der 2 Buttons, ein textfeld und ne Gauge beinhaltet.

> scyks:~/Desktop/Import Scyks$ python import.py
> Bin gestartet
> Bus error
> scyks:~/Desktop/Import Scyks$

[Code ausgelagert]

Hier mal der Fehlercode den ich bekomme wenn das Programm abschmiert

[Paste ausgelagert]

Wäre Super wenn mir jemand helfen kann das Problem zu beheben.

/* Update habe eben im Reporthook mal das Try/Except auskommentiert und nun kommt folgender Fehler:

[Traceback ausgelagert]

Vielen Danke schonmal im Vorraus

Edit (Leonidas): Ewig lange Pastes ausgelagert.
Scyks
User
Beiträge: 17
Registriert: Freitag 3. August 2007, 09:03

Dienstag 22. Januar 2008, 20:17

@CM
Danke erstmal für die PN.

Also ich habe die std Version von Python 2.5.1 installiert.
wxpython habe ich runtergeladen und zwar das Image namens "wxPython2.8-osx-unicode-2.8.4.0-universal10.4-py2.5.dmg"
Die darin enthaltene pkg habe ich installiert, ohne Probleme.
Desweiteren nutze ich PythonCard-0.8.2 (finde das persönlich wesentlich einfacher als nur wxPython)

ansonsten weiß ich nicht was ich noch machen soll, habe alles schon probiert :(

Wenn ich das Dialog mit der Gauge undS StaticText nicht update gehts eigentlich.

Gibts fixxes für dieses Problem?
BlackJack

Dienstag 22. Januar 2008, 21:03

Ein kurzer Blick in den Quelltext zeigt, dass Du mit Threads arbeitest. Du versuchst nicht diese Fortschrittsanzeige aus einem anderen Thread zu aktualisieren als dem, in dem die Event-Schleife von wx läuft, oder?
Scyks
User
Beiträge: 17
Registriert: Freitag 3. August 2007, 09:03

Dienstag 22. Januar 2008, 21:53

ähm, doch eigentlich ist das so ;) ähm bin nich so fortgeschritten in der Python Programmierung.

Ist dies der Fehler? kann man dem beheben in dem man in der Parent Klasse eine Methode schreibt die dies tut oder geht das auch nicht?

Wie kann ich das lösen, muss die wx Schleife im Thread sein?

Grüße
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Mittwoch 23. Januar 2008, 11:58

Scyks hat geschrieben:@CM
Danke erstmal für die PN.
Gern geschehen. Zur Info für die Anderen:
Ich hatte gebeten a) den Code auzulagern, b) nicht einfach try/execpt zu schreiben, sondern spezifischer abzufangen und c) genau zu sagen woher die verwendeten Module stammen.

@Scyks zu c) Ok, jetzt wo der Thread ganz angezeigt werden kann, weil der Code ausgelagert ist, sehe ich auch, daß es wohl eher nicht an einem best. Modul liegt. Aber: Der Name des Moduls sagt uns nicht notwendigerweise woher es stammt und wofür es eigentlich gepackt wurde. In der Vergangenheit habe ich auch 'nen Mac genutzt und weiß, das es sehr wichtig ist zu beachten, daß bei externen Modulen, ggf. sogar Python selbst (falls Du eine aktuelle Version nachinstallierst), zu wissen woher sie stammen. (Es geht um Fragen wie: Für welche Prozessoren wurde kompiliert? Welche Mac/Python/third-Party-Modul-Version?)
Dazu in Zukunft bei Problemen mit den Modulen und ihrer Installation / Konfiguration hier und in Mac-Foren immer die Quelle und den Namen des Paketes angeben.
Nur mal so als Info ;-).

Gruß,
Christian
Scyks
User
Beiträge: 17
Registriert: Freitag 3. August 2007, 09:03

Donnerstag 24. Januar 2008, 12:21

Problem scheint gelöst zu sein.

Habe hier im Forum ein Beispiel für Thread und GUI gefunden die mit der Methode wx.CallAfter arbeitet.

habe dieses eingebaut und schon ist der Fehler weg und alles funktioniert einwandfrei.

Danke für den Tipp BlackJack ;)

Vielen Dank
Antworten