[Python-de] Platformabhaengigkeit eingrenzen?

Andreas Lobinger tvask at biszumknie.de
Di Mai 21 20:52:23 CEST 2013


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


Mehr Informationen über die Mailingliste python-de