Sto provando a creare uno script Python che utilizza il modulo di multiprocessing per produrre 2 (o più) finestre GTK. Sto sbattendo un muro qui sembra. Ecco il codice e gli errori che sto ottenendo:multiprocessing di pitone con 2 finestre GTK
p1 = Process(target=tiny_gtk_process, name="process 1")
p1.start()
p2 = Process(target=tiny_gtk_process, name="process 2")
p2.start()
e:
def tiny_gtk_process():
import gtk
window = gtk.Window()
window.set_size_request(800,600)
window.show_all()
gtk.main()
maggior parte del tempo sto ottenendo:
multiwin.py: Fatal error IO 0 (Successo) sul server X: 0.0. python: ../../src/xcb_io.c:249: process_responses: Asserzione `(((long) (dpy-> last_request_read) - (long) (dpy-> request)) < = 0) 'failed.
A volte ottengo:
multiwin.py: Fatal error IO 11 (Risorsa temporaneamente non disponibile) su X server: 0.0.
Il problema è il ciclo gtk? Il multiprocessing non li isola?
Qualsiasi idea sarebbe molto utile.
Vuoi davvero usare il multiprocesso o vuoi semplicemente avere 2 finestre? – liberforce
Ho davvero bisogno che questo sia in processi separati. –
Stai importando gtk nello script chiamante? Sono stato in grado di riprodurre il tuo problema quando avevo un gtk di importazione nello script chiamante, ma non quando l'ho rimosso e l'importazione è solo nella funzione tiny_gtk_process. – bohrax