Domanda

Ho un'applicazione che dipende PyGTK, PyGobject e PyCairo che ho costruito a lavorare su Linux. Voglio porta sopra alle finestre, ma quando eseguo import gobject ottengo questo:

Traceback (most recent call last):
    import gobject
  File "C:\Python26\lib\site-packages\gtk-2.0\gobject\__init__.py", line 30, in <module>
    from gobject.constants import *
  File "C:\Python26\lib\site-packages\gtk-2.0\gobject\constants.py", line 22, in <module>
    from _gobject import type_from_name
ImportError: DLL load failed: The specified procedure could not be found.

Questo sembra essere causato dal passaggio dalla costruzione usando MinGW per Microsoft Visual Studio, come documentato Python Bug 3308 (closed: wontfix).

C'è un modo per installare PyGTK / PyGObject in modo che funzionerà con Python 2.6 su Windows, senza dover ricompilare uno o l'altro dalla sorgente?

È stato utile?

Soluzione

L'ho funziona bene, e non mi ha dato molti problemi, quindi sappiamo che può essere fatto ...

Tenete a mente si avrà probabilmente bisogno di tutte le seguenti installato sulla vostra macchina Windows:

Ho il sospetto che nel tuo caso che le librerie PyGTK non trovano la directory di GTK + Runtime dove le DLL sono. Si dovrebbe avere l'ambiente GTK_BASEPATH variabile di impostare la directory del vostro GTK + Runtime (di solito C: \ GTK).

Si prega di consultare anche la PyGTK-on-Windows FAQ

Ora, se si sta cercando di compilare il PyGTK'ed Python con py2exe, che è un po 'più complicato, ma si può fare così ...

Altri suggerimenti

Il PyGTK all-in-one di installazione è stato aggiornato di recente:

http://ftp.gnome.org/pub/GNOME /binaries/win32/pygtk/2.22/

Questo installerà PyGTK, PyGObject, PyCairo, PyGtkSourceView2, PyGooCanvas, PyRsvg, GTK + -bundle e Glade. E 'assolutamente tutto il necessario per essere in grado di import gobject successo, import gtk, ecc, senza problemi DLL.

per gli utenti Windows a 64 bit vedono

http: //digitalpbk.blogspot. in / 2012/03 / installazione-pygtk-pypango-e-pycairo-on.html

Sopra passi vi darà non valido DLL errore a 64 bit.

u dovrebbe avere pygtk, pycairo, pygboject e gtk + runtime ...

vedere questo per un tutto in uno di installazione http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_. html

Fare attenzione sull'installazione fascio pacco PyGTK se uno qualsiasi pianificazione di correre PyGTK attraverso interprete embedded e il codice C / C ++ sta già utilizzando GTK. fascio pacchetto PyGTK non aggiunge il suo runtime GTK al PATH.

In tal caso, eventualmente, il codice C avrà GTK da PATH (come probabilmente è già stato installato fascio pacchetto GTK) e Python userà insieme separato di librerie di runtime GTK.

Quindi nel mio caso sia C GUI o Python GUI utilizzato per funzionare correttamente e utilizzato per il conflitto durante l'esecuzione insieme.

Mentre io uso Psychopy come la mia collezione di base di pitone, per risolvere questo problema che ho appena installato PyGTK PyGTK, Pycairo, Pygobject in cima Psychopy.

Oltre ad utilizzare un solo set di GTK runtime ho dovuto inizializzare GTK nel mio codice C tramite PyGTK (non per gtk_init (& argc, & argv) nel mio codice C) dopo l'inizializzazione interprete Python.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top