Frage

Ich habe eine Anwendung, die auf PyGTK abhängt, pygobject und PyCairo, die ich auf Linux arbeiten gebaut. Ich will es in dem Hafen Fenster vorbei, aber wenn ich import gobject ausführen bekomme ich diese:

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.

Dies scheint durch den Schalter verursacht wird von dem Aufbau mit MinGW zu Microsoft Visual Studio, wie dokumentiert Python Bug 3308 (closed: wontfix).

Gibt es eine Möglichkeit PyGTK / pygobject in einer Art und Weise zu installieren, die mit Python 2.6 unter Windows arbeiten, ohne das eine oder andere von der Quelle neu kompilieren zu müssen?

War es hilfreich?

Lösung

Ich habe es funktioniert gut, und es hat mir nicht viel Mühe, so dass wir wissen, dass es getan werden kann ...

Beachten müssen Sie wahrscheinlich alle die auf Ihrem Windows-Rechner folgenden Optionen:

ich in Ihrem Fall den Verdacht, dass die PyGTK Bibliotheken nicht Ihre GTK + Runtime-Verzeichnis zu finden, wo die DLLs sind. (In der Regel C: \ GTK) Sie sollten die Umgebungsvariable GTK_BASEPATH in das Verzeichnis Ihrer GTK + Runtime gesetzt haben.

Bitte beachten Sie auch die PyGTK-on-Windows FAQ

Wenn Sie nun die PyGTK'ed Python mit py2exe zu kompilieren sind versucht, das ist ein wenig komplizierter, aber es kann auch durchgeführt werden ...

Andere Tipps

Die PyGTK all-in-one-Installer aktualisiert wurde:

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

Dies installiert PyGTK, pygobject, PyCairo, PyGtkSourceView2, PyGooCanvas, PyRsvg, die GTK + -bundle und Glade. Es ist absolut notwendig, alles erfolgreich zu können import gobject, import gtk, etc, ohne DLL Probleme.

für 64-Bit-Windows-Benutzer finden Sie unter

http: //digitalpbk.blogspot. in / 2012/03 / Einbau-pygtk-pypango-and-pycairo-on.html

Vor Schritten geben Ungültige DLL-Fehler auf 64 Bit.

u sollte pygtk, pycairo, pygboject und die GTK + Runtime ...

sieht dies für ein alles in einem Installateur http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_. html

Seien Sie vorsichtig über die Installation PyGTK Gebindepackung, wenn eine Planung PyGTK durch eingebettete Interpreter und der C / C ++ Code ausgeführt wird bereits GTK verwenden. PyGTK Bundle Pack hinzufügen nicht seine GTK Runtime PATH.

In einem solchen Fall möglicherweise der C-Code wird GTK von PATH nehmen (wie wahrscheinlich haben Sie bereits GTK Bundle Pack installiert ist) und Python separaten Satz von GTK-Laufzeitbibliotheken verwenden.

Daher in meinem Fall entweder C-GUI oder Python-GUI verwendet werden richtig und beim Laufen zusammen zu Konflikten verwendet auszuführen.

Wie ich Psychopy als meine Basis Python Sammlung verwenden, um dieses Problem zu lösen, ich PyGTK PyGTK gerade installiert haben, PyCairo, pygobject oben auf Psychopy.

Neben nur ein Satz von GTK-Laufzeit hatte ich GTK in meinem C-Code durch PyGTK (nicht von gtk_init (& argc, & argv) in meinem C-Code) zu initialisieren, nachdem Python-Interpreter initialisiert wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top