Как мне установить PyGTK / PyGObject в Windows с помощью Python 2.6?

StackOverflow https://stackoverflow.com/questions/1294272

  •  18-09-2019
  •  | 
  •  

Вопрос

У меня есть приложение, которое зависит от PyGTK, PyGObject и PyCairo, которые я создал для работы в Linux.Я хочу перенести его в Windows, но когда я выполняю import gobject Я понимаю это:

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.

По-видимому, это вызвано переключением с сборки с использованием MinGW на Microsoft Visual Studio, как задокументировано Ошибка Python 3308 (closed: wontfix).

Есть ли какой-нибудь способ установить PyGTK / PyGObject таким образом, чтобы он работал с Python 2.6 в Windows, без необходимости перекомпилировать тот или иной из исходного кода?

Это было полезно?

Решение

У меня это работает нормально, и это не доставило мне особых хлопот, так что мы знаем, что это можно сделать...

Имейте в виду, что вам, вероятно, потребуется установить на вашем компьютере с Windows все следующее:

Я подозреваю, что в вашем случае библиотеки PyGTK не находят ваш каталог GTK + Runtime, в котором находятся библиотеки DLL.У вас должна быть установлена переменная окружения GTK_BASEPATH в каталог вашей среды выполнения GTK + (обычно C:\GTK).

Пожалуйста, также ознакомьтесь с PyGTK-в-Windows ЧАСТО задаваемые ВОПРОСЫ

Теперь, если вы пытаетесь скомпилировать PYGTK'ed Python с помощью Py2EXE, это немного сложнее, но это тоже можно сделать...

Другие советы

Установщик PyGTK all-in-one был недавно обновлен:

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

Это приведет к установке PyGTK, PyGObject, PyCairo, PyGtkSourceView2, PyGooCanvas, PyRsvg, gtk +-bundle и Glade.Это абсолютно все необходимое для того, чтобы иметь возможность успешно import gobject, import gtk, и т.д., без проблем с DLL.

для 64-разрядных пользователей Windows смотрите

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

Описанные выше шаги приведут к недопустимой ошибке DLL на 64 битах.

у вас должны быть pygtk, pycairo, pygboject и среда выполнения gtk +...

смотрите это для установки "все в одном" http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_.html

Будьте осторожны при установке пакета PyGTK bundle pack, если кто-либо планирует запустить PyGTK через встроенный интерпретатор и код C / C ++ уже использует GTK.PyGTK bundle pack не добавляет свою среду выполнения GTK в PATH.

В таком случае, возможно, код C возьмет GTK из PATH (поскольку, вероятно, вы уже установили GTK bundle pack), а Python будет использовать отдельный набор библиотек времени выполнения GTK.

Поэтому в моем случае либо C GUI, либо Python GUI использовались для правильной работы и конфликтовали при совместной работе.

Поскольку я использую Psychopy в качестве своей базовой коллекции python, чтобы решить эту проблему, я только что установил PyGTK PyGTK, Pycairo, Pygobject поверх Psychopy.

Помимо использования только одного набора GTK runtime, мне пришлось инициализировать GTK в моем C-коде через PyGTK (не с помощью gtk_init (&argc, &argv) в моем C-коде) после инициализации интерпретатора python.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top