Platformabhaengigkeit eingrenzen?

21/05/2013 - 20:52 von Andreas Lobinger | Report spam
Aloha,

ich schreibe gerade ein Programm, das bestenfalls platformunabhàngig sein
soll, im Moment aber nicht ist, und ich kann das Problem nicht so richtig
eingrenzen.

Also:
im Spiel sind die xmlrpclib und multiprocessing (+ Queue).
Ein Prozess soll via xmlrpclib pollen und die Daten, soweit vorhanden in
eine Queue packen, dieser wird mit multiprocessing.Process gestartet
~
# run it
pr = Process(target=c.main_loop, args =(q,))
pr.start()

Ein anderer Prozess (genauer gesagt, das main) liest sich die q (Queue)
und reagiert.

Der Code làuft unter Linux (irgendein aktuelles Ubuntu 12.x) ohne weitere
Probleme.

Unter Windows (win7, beides python 2.7.3) bricht der obige Process( ab
mit einer Fehlermeldung, das ein xmlrpclib Object nicht ge-pickle-t
werden kann, da xmlrpclib Objekte kein ___getinitargs__ hat (was auch
stimmt).

Warum làuft das unter Linux?
Könnte man einfach die fehlenden __calls in xmlrpclib nachrüsten?
Oder làuft da ganz was falsch?

Auf bald,
LOBI
 

Lesen sie die antworten

#1 Andreas Lobinger
21/05/2013 - 21:19 | Warnen spam
On Tue, 21 May 2013 20:58:51 +0200, Andreas Jung wrote:
Andreas Lobinger wrote:


Unter Windows (win7, beides python 2.7.3) bricht der obige Process(
ab mit einer Fehlermeldung, das ein xmlrpclib Object nicht ge-pickle-t
werden kann, da xmlrpclib Objekte kein ___getinitargs__
hat (was auch stimmt).



Warum sollte man ein xmlrpclib Module pickeln wollen?



Frag das doch mal besser die multiprocessing Erfinder.

Ähnliche fragen