from _gobject import type_from_name,ImportError: DLL load failed: 找不到指定的程序

120 views
Skip to first unread message

Shuge Lee

unread,
Feb 12, 2010, 7:34:38 AM2/12/10
to python-cn`CPyUG`华蟒用户组(中文Py用户组)
winxp sp3
py2.5

IDEL
>>> import gtk

Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import gtk
File "C:\Python25\Lib\site-packages\gtk-2.0\gtk\__init__.py", line
38, in <module>
import gobject as _gobject
File "C:\Python25\Lib\site-packages\gtk-2.0\gobject\__init__.py",
line 30, in <module>
from gobject.constants import *
File "C:\Python25\Lib\site-packages\gtk-2.0\gobject\constants.py",
line 22, in <module>
from _gobject import type_from_name
ImportError: DLL load failed: 找不到指定的程序。
>>> import pygtk
>>>

0100101010010101001010100101010010101001010100101

下面这个似乎是比较靠谱的解决方案,但是我跟着做解决不了。
http://www.penjuinlabs.com/blog/?p=94

重启,设置/更新环境变量全部试过,不行。

半年前,我用py2.6+当时最新gtk runtime + pygtk没有问题,
后来混合使用了py2.5就出现上面的问题,一直懒,就没理,可是现在有假,想做自己的业余项目,出于自己项目健康发展考虑,不得不兼顾win用户,不
得不在windows下折腾pygtk。

0100101010010101001010100101010010101001010100101

我一直在想,为啥“GTK is awesome. PyGTK is awesome. PyGTK on Windows is far,
far less than awesome. ”,今天似乎有点眉目。

本来wx,pyqt也有自己的缺点,但是就是比pygtk火,因为它们(在win下)安装容易,文档齐全——对于一个开发者来说,这两样东西实在太重要
——这个就是跟女娃看男的一样,你吖长得不好看,初次见面又不会说些甜言蜜语,下次鬼才理你!

Can Xue

unread,
Feb 12, 2010, 2:17:49 PM2/12/10
to pyth...@googlegroups.com

在 2010年2月12日 下午8:34,Shuge Lee <shug...@gmail.com>写道:

下面这个似乎是比较靠谱的解决方案,但是我跟着做解决不了。
http://www.penjuinlabs.com/blog/?p=94


这个 blog 好像不是那么靠谱。windows 下 python 2.5/2.6 结合 pygtk 我都用过,没有文章中说的那么离谱。
比较靠谱的说明在这里: http://faq.pygtk.org/index.py?file=faq21.002.htp&req=show

 
重启,设置/更新环境变量全部试过,不行。

更新环境变量后再重启。另外有些应用程序默认安装并全局注册了 Gtk+ 的库,是不是存在这种冲突的可能?

 
——这个就是跟女娃看男的一样,你吖长得不好看,初次见面又不会说些甜言蜜语,下次鬼才理你!

那得牺牲多少大好技术青年啊~

Shuge Lee

unread,
Feb 14, 2010, 10:56:52 AM2/14/10
to python-cn`CPyUG`华蟒用户组(中文Py用户组)
你说的链接间接给了我解决思路。

之前是行,现在不行,肯定是因为lib path不对,那么我强制指定并优先从该lib path找dll行不?

一测,果然如我所料。

解决方案其实非常简单:
把C:\gtk\lib;C:\gtk\bin;添加追加到系统变量PATH开头里。

这儿有三点要注意:
零是"系统变量",是"系统变量"而不是用户变量。

一是"追加"。"追加"就是不要把原来的系统变量PATH内容覆盖。

二是PATH的"开头"。"开关"就是把gtk相关的路径添加到旧PATH的前面,而不是后面。


On Feb 13, 3:17 am, Can Xue <xue...@gmail.com> wrote:


> 在 2010年2月12日 下午8:34,Shuge Lee <shuge....@gmail.com>写道:
>
>
>
> > 下面这个似乎是比较靠谱的解决方案,但是我跟着做解决不了。
> >http://www.penjuinlabs.com/blog/?p=94
>
> 这个 blog 好像不是那么靠谱。windows 下 python 2.5/2.6 结合 pygtk 我都用过,没有文章中说的那么离谱。
> 比较靠谱的说明在这里:http://faq.pygtk.org/index.py?file=faq21.002.htp&req=show
>
> > 重启,设置/更新环境变量全部试过,不行。
>
> 更新环境变量后再重启。另外有些应用程序默认安装并全局注册了 Gtk+ 的库,是不是存在这种冲突的可能?
>

> > ----这个就是跟女娃看男的一样,你吖长得不好看,初次见面又不会说些甜言蜜语,下次鬼才理你!
>
> 那得牺牲多少大好技术青年啊~

Reply all
Reply to author
Forward
0 new messages