Python的gtk
模塊會導入一個名爲gdk
的 模塊。任何地方都沒有實際的gdk
模塊。該 開始gtk/__init__.py
模塊看起來是這樣的:PyGTK的「gdk」模塊存在的問題
# load the required modules:
import gobject as _gobject
ver = getattr(_gobject, 'pygobject_version',())
if ver < (2, 11, 1):
raise ImportError(
"PyGTK requires PyGObject 2.11.1 or higher, but %s was found" % (ver,))
if 'gtk._gtk' in sys.modules:
_gtk = sys.modules['gtk._gtk']
else:
from gtk import _gtk
import gdk
顯然gdk
,像Athena,泉水提出完全從 _gtk.so
共享庫包括gtk
模塊中形成。這是所有 很好,但我試圖讓處理的問題是, 使用weechat,加載使用gtk
工作的 第一次Python腳本,但隨後失敗,這樣的回溯:
python: loading script "/home/username/.weechat/python/lnotify.py"
python: stdout/stderr: Traceback (most recent call last):
python: stdout/stderr: File "/home/username/.weechat/python/lnotify.py", line 20, in <module>
python: stdout/stderr: import weechat, string, pynotify
python: stdout/stderr: File "/usr/lib64/python2.7/site-packages/gtk-2.0/pynotify/__init__.py", line 19, in <module>
python: stdout/stderr: import gtk
python: stdout/stderr: File "/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 42, in <module>
python: stdout/stderr: import gdk
python: stdout/stderr: ImportError: No module named gdk
python: unable to parse file "/home/username/.weechat/python/lnotify.py"
因此,發生了一些事情,突然gtk
模塊 變得無法找到共享庫中的gdk
模塊。我是 甚至不知道從哪裏開始進一步診斷,因爲我不是 完全確定可能會導致此類符號解決問題的原因。
你以前見過類似的東西嗎?
幾個問題a)你可以通過'gi.repository'而不是'pygtk'使用自省嗎?你能否在沒有「weechat」的情況下重現這一點(即確保在導入之前所有導入都已重置)?不幸的是,我無法幫助超越..你是否按照建議'import gtk.gdk' http://stackoverflow.com/questions/5923746/problems-importing-gdk – drahnr