Ich versuche, ein Python-Skript, das das Multiprocessing-Modul verwendet, um 2 (oder mehr) GTK-Fenster zu erstellen. Ich treffe hier eine Wand. Hier ist der Code und die Fehler Ich erhalte:Python Multiprocessing mit 2 Gtk Windows
p1 = Process(target=tiny_gtk_process, name="process 1")
p1.start()
p2 = Process(target=tiny_gtk_process, name="process 2")
p2.start()
und:
def tiny_gtk_process():
import gtk
window = gtk.Window()
window.set_size_request(800,600)
window.show_all()
gtk.main()
Die meiste Zeit bin ich immer:
multiwin.py: Fatal IO Fehler 0 (Erfolg) auf X-Server: 0.0. python: ../../src/xcb_io.c:249: process_responses: Assertion `(((lang) (dpy-> last_request_read) - (lang) (dpy-> request)) < = 0) 'fehlgeschlagen.
Manchmal habe ich:
multiwin.py: Fatal IO Fehler 11 (Resource vorübergehend nicht verfügbar) auf X-Server: 0.0.
Ist das Problem die GTK-Schleife? Multiprocessing nicht isoliert sie?
Alle Ideen wären sehr hilfreich.
Möchten Sie wirklich Multiprozess verwenden, oder möchten Sie nur 2 Fenster haben? – liberforce
Ich brauche das wirklich in getrennten Prozessen. –
Importieren Sie GTK in das aufrufende Skript? Ich war in der Lage, Ihr Problem zu reproduzieren, wenn ich einen Import-GTK im aufrufenden Skript hatte, aber nicht, wenn ich es entfernte und der Import nur in der tiny_gtk_process -Funktion ist. – bohrax