手动导入 gtk 失败:找不到模块

Manually importing gtk fails: module not found

所以我想从命令行一次又一次地执行一个 python 脚本,而且它必须非常快。 python 中的导入是 slow,因为 在整个 sys.path 中搜索各个模块

因此,我的想法是替换

import sys
import gdk.gtk

import sys
import imp
imp.load_source("gtk.gdk", "/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py")

(我从 os.path.abspath(gtk.__file__)

得到了那条路

但是,python 告诉我这是无效的:module 'gtk' not found。但这不正是我要在这里导入的内容吗?

  1. 我做错了什么?或
  2. 是否有更好的方法实现直接导入?

(下面有详细的错误信息)

/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:23: 
    RuntimeWarning: Parent module 'gtk' not found while handling absolute import
    import sys
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:30: 
    RuntimeWarning: Parent module 'gtk' not found while handling absolute import
    import gobject as _gobject
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: 
    RuntimeWarning: Parent module 'gtk' not found while handling absolute import
    from gtk import _gtk

导入已编译的 __init__.pyc 似乎在这里工作,使用 import_module 而不是 import_source。但是,导入速度仍然很慢...

# done manually once
file,filename,descr=imp.find_module('gtk')
print file,filename,descr

脚本:

# script
gtk=imp.load_module('gtk',FILE,FILENAME,DESCRIPTION) # the respective values
# gtk=imp.load_module("gtk",None,"/usr/lib/python2.7/dist-packages/gtk-2.0/gtk",('','',5))
from gtk import gdk