Windows’ta bir PyGtk Hatası
********************************************************************
ÖNEMLİ NOT: Bu yazıdaki bazı bağlantılar eskimiştir. Bağlantıların yeni adresleri için http://www.istihza.com/blog/pygtk-ve-windows.html/ sayfasındaki yazımızı inceleyiniz…
********************************************************************
Bir-iki gün önce bir arkadaş bana e.posta göndererek, Windows’ta PyGtk’yi kullanamadığını, herhangi bir PyGtk programını çalıştırmaya çalıştığında şöyle bir hata aldığını söyledi:
from _gobject import type_from_name
ImportError: DLL load failed: Belirtilen modül bulunamadı.
Bunun üzerine deneme yapmak için ben de daha önce PyGtk kurduğum ve düzgün bir şekilde çalışan Windows’lu bir bilgisayardaki PyGtk ve PyGtk’ye ilişkin bütün paketleri önce kaldırıp daha sonra PyGtk ve ilgili paketleri yeniden kurdum bu bilgisayara…
Dediğim gibi, eski kurulumda bir sorun yoktu, ancak bu kez PyGtk’yi kurup herhangi bir PyGtk programını çalıştırmaya çalıştığımda ben de hemen hemen aynı hatayı aldım.
Benim aldığım hata da şöyleydi:
ImportError: DLL load failed: The specified module could not be found.
Sanırım son GTK paketlerinden birinde bir uyumsuzluk var… Eğer siz de Windows üzerine PyGtk kurarken yukarıdakine benzer bir hata alıyorsanız, sorunu şu şekilde çözebilirsiniz:
1. Önce PyGtk ile ilgili kurduğunuz bütün programları kaldırın.
2. Daha sonra sırasıyla şu programları indirin:
** http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.16.6-20090911_win32.zip
** http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/1.4/pycairo-1.4.12-2.win32-py2.6.exe
** http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/2.14/pygobject-2.14.2-2.win32-py2.6.exe
** http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.12/pygtk-2.12.1-3.win32-py2.6.exe
3. İlk paket hariç ötekilerin kurulum betikleri var. Bunları çift tıklayarak kurabilirsiniz. Yalnız bu paketleri kurarken listeden Python 2.6 sürümünü seçmeyi unutmayın…
4. İlk “bundle” paketini C dizini içinde GTK adlı bir klasörün içine açın. Daha sonra C:\GTK\bin klasörünü “PATH” değişkeninize ekleyin.
Eğer bu dizini “PATH” değişkenine nasıl ekleyeceğinizi bilmiyorsanız şu makalemizden yararlanabilirsiniz: http://www.istihza.com/py2/windows-path.html
yukarıdaki tüm dediklerinizi sırasıyla yapmama rağmen aşağıdaki hatayı almaktayım:(
baska nedem kaynaklanabilir?? teşekkürler
IDLE 2.6.2
>>> import gtk
Traceback (most recent call last):
File “”, line 1, in
import gtk
File “C:\Python26\lib\site-packages\gtk-2.0\gtk\__init__.py”, line 38, in
import gobject as _gobject
File “C:\Python26\lib\site-packages\gtk-2.0\gobject\__init__.py”, line 30, in
from gobject.constants import *
File “C:\Python26\lib\site-packages\gtk-2.0\gobject\constants.py”, line 22, in
from _gobject import type_from_name
ImportError: DLL load failed: The specified module could not be found.
>>>
GTK klasörünü PATH değişkeninize eklememiş veya düzgün eklememiş olabilirsiniz.
Şu komutun çıktısını gönderebilir misiniz?
echo %PATH%
C:\Documents and Settings\Aylin Eren>echo %PATH%
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Intel\Wireless\Bin\;C:\Program Files\Common Files\Lenovo;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\90\DTS\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\C
ommon7\IDE\;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemb
lies\;C:\Program Files\ThinkPad\ConnectUtilities;C:\Program Files\QuickTime\QTSy
stem\;C:\Python26;C:\Program Files\IronPython 2.6;C:\Program Files\Microsoft SQL
Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\P
rogram Files\Google\google_appengine\;C:\GTK\
Ben burada sadece C:\GTK klasörünün eklendiğini görüyorum PATH değişkenine… Yazıda da belirttiğim gibi (4. madde), PATH değişkenine eklemeniz gereken klasör C:\GTK\bin olmalı…
C:\GTK\bin ve C:\Python26 klasörleri kesinlikle path a ekli olması gerekli. bende oldu. tşk. ler…