Python 2.6을 사용하여 Windows에 Pygtk / PygoBject를 어떻게 설치합니까?
문제
Linux에서 작업하기 위해 만든 Pygtk, Pygobject 및 Pycairo에 의존하는 응용 프로그램이 있습니다. 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로의 스위치로 인한 것으로 보입니다. 파이썬 버그 3308 (closed: wontfix
).
소스에서 하나를 다시 컴파일하지 않고 Windows에서 Python 2.6에서 작동하는 방식으로 Pygtk/PygoBject를 설치하는 방법이 있습니까?
해결책
나는 그것을 잘 작동했고, 그것은 나에게 많은 어려움을주지 않았기 때문에 우리는 그것이 할 수 있다는 것을 알고 있습니다 ...
Windows 컴퓨터에 다음 모든 설치가 필요할 것입니다.
Pycairo ( http://ftp.gnome.org/pub/gnome/binaries/win32/pycairo/ )
pygobject ( http://ftp.gnome.org/pub/gnome/binaries/win32/pygobject/ )
피그크 (pygtk) http://ftp.gnome.org/pub/gnome/binaries/win32/pygtk/ )
비공식 위 3 개 항목의 X64 버전을 사용할 수 있습니다 여기 - 그러나 나는 그들을 보증하거나 추천 할 수 없습니다!
그리고 물론
GTK+ 런타임 ( http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/ 또는 http://ftp.gnome.org/pub/gnome/binaries/win64/gtk+/ )
귀하의 경우 Pygtk 라이브러리가 DLL이있는 GTK+ 런타임 디렉토리를 찾지 못한다고 생각합니다. 환경 변수 GTK_BASEPATH가 GTK+ 런타임 (일반적으로 C : GTK)의 디렉토리로 설정해야합니다.
또한 참조하십시오 Pygtk-on-Windows FAQ
이제 py2exe로 Pygtk'ed Python을 컴파일하려고한다면 조금 더 복잡하지만 수행 할 수 있습니다 ...
다른 팁
Pygtk 올인원 설치 프로그램이 최근에 업데이트되었습니다.
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
위의 단계는 64 비트에서 유효하지 않은 DLL 오류를 제공합니다.
u는 pygtk, pycairo, pygboject 및 gtk+ 런타임이 있어야합니다 ...
하나의 설치 프로그램에 대해서는 이것을 참조하십시오http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_.html
임베디드 통역사를 통해 Pygtk를 실행할 계획이라면 C/C ++ 코드가 이미 GTK를 사용하고있는 경우 Pygtk 번들 팩 설치에주의하십시오. Pygtk 번들 팩은 GTK 런타임을 경로에 추가하지 않습니다.
이 경우 C 코드는 경로에서 GTK를 가져올 것입니다 (아마도 GTK 번들 팩을 이미 설치했을 것입니다). Python은 별도의 GTK 런타임 라이브러리 세트를 사용합니다.
따라서 내 경우 C Gui 또는 Python Gui는 제대로 실행되어 함께 달리는 동안 충돌하는 데 사용되었습니다.
Psychopy를 기본 파이썬 컬렉션으로 사용하면이 문제를 해결하기 위해 Pygtk Pygtk, Pycairo, Pygobject를 Psychopy 위에 설치했습니다.
Python 통역사를 초기화 한 후 하나의 GTK 런타임 세트 만 사용하는 것 외에도 C 코드에서 GTK에서 GTK (C 코드가 아님)를 통해 C 코드에서 GTK를 초기화해야했습니다.