|
|

楼主 |
发表于 2008-8-2 23:05:47
|
显示全部楼层
Post by zhllg;1881742
如果你对一个问题完全不理解,而你想通过搜索来寻找答案
你需要寻找和你的症状完全一样的,版本完全一样的,发行版一样的,而且发生时间差不太多的问题的答案
否则,如果盲目的照做的话,很可能会把问题搞的更糟
你可以一步一步的调试
首先删掉python2.4,看问题是否存在。因为不管怎样,你都不需要通过安装旧的python版本来解决问题。
然后确认你是否可以在python里手动import gtk
执行python回车,输入import gtk看看是否成功
如果不行,ctrl-d退出
然后执行python -v,再import gtk看看是读取什么文件的时候出了问题
如果手动import没有问题,那我怀疑你的系统里还有别的python,而gdesklet调用了那个python,但那个python不能import。或者gdesklet import gtk时,sys.path被修改,pygtk的路径被从里面删掉。你可以在import gtk那句话前面加上
import sys
print sys.path
来检查sys.path里确实有pygtk的路径
emerge -C dev-lang/python-2.4.4-r6
删除python2.4后
shinhwa enya # python
python python-config python-config-2.5 python-updater python2 python2.5
shinhwa enya # whereis python
python: /usr/bin/python2.5 /usr/bin/python /usr/lib/python2.5 /usr/lib/python2.4 /usr/X11R6/bin/python2.5 /usr/X11R6/bin/python /usr/include/python2.5 /usr/include/python2.4 /usr/share/man/man1/python.1.bz2
shinhwa enya # whereis python2
python2: /usr/bin/python2.5 /usr/bin/python2 /usr/lib/python2.5 /usr/lib/python2.4 /usr/X11R6/bin/python2.5 /usr/X11R6/bin/python2 /usr/include/python2.5 /usr/include/python2.4
不知道这里的头文件、库文件会有影响吗(2.4)
shinhwa enya # ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Aug 3 06:35 /usr/bin/python -> python2.5
shinhwa enya # ls -l /usr/bin/python2
lrwxrwxrwx 1 root root 9 Aug 3 06:35 /usr/bin/python2 -> python2.5
尝试1-1
shinhwa enya # python
Python 2.5.2 (r252:60911, Aug 2 2008, 03:34:59)
[GCC 4.1.2 (Gentoo 4.1.2 p1.0.2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.py", line 48, in <module>
from gtk import _gtk
ImportError: No module named cairo
尝试1-2
shinhwa enya # python
Python 2.5.2 (r252:60911, Aug 2 2008, 03:34:59)
[GCC 4.1.2 (Gentoo 4.1.2 p1.0.2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.py", line 48, in <module>
from gtk import _gtk
ImportError: No module named cairo
>>> import sys
>>> import gtk
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.py", line 48, in <module>
from gtk import _gtk
ImportError: No module named cairo
>>> print sys.path
['', '/usr/lib/portage/pym', '/usr/lib/python25.zip', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/gtk-2.0']
>>>
尝试1-3
shinhwa enya # python -v
# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
# /usr/lib/python2.5/site.pyc matches /usr/lib/python2.5/site.py
import site # precompiled from /usr/lib/python2.5/site.pyc
# /usr/lib/python2.5/os.pyc matches /usr/lib/python2.5/os.py
import os # precompiled from /usr/lib/python2.5/os.pyc
import errno # builtin
import posix # builtin
# /usr/lib/python2.5/posixpath.pyc matches /usr/lib/python2.5/posixpath.py
import posixpath # precompiled from /usr/lib/python2.5/posixpath.pyc
# /usr/lib/python2.5/stat.pyc matches /usr/lib/python2.5/stat.py
import stat # precompiled from /usr/lib/python2.5/stat.pyc
# /usr/lib/python2.5/UserDict.pyc matches /usr/lib/python2.5/UserDict.py
import UserDict # precompiled from /usr/lib/python2.5/UserDict.pyc
# /usr/lib/python2.5/copy_reg.pyc matches /usr/lib/python2.5/copy_reg.py
import copy_reg # precompiled from /usr/lib/python2.5/copy_reg.pyc
# /usr/lib/python2.5/types.pyc matches /usr/lib/python2.5/types.py
import types # precompiled from /usr/lib/python2.5/types.pyc
import _types # builtin
# /usr/lib/python2.5/warnings.pyc matches /usr/lib/python2.5/warnings.py
import warnings # precompiled from /usr/lib/python2.5/warnings.pyc
# /usr/lib/python2.5/linecache.pyc matches /usr/lib/python2.5/linecache.py
import linecache # precompiled from /usr/lib/python2.5/linecache.pyc
import encodings # directory /usr/lib/python2.5/encodings
# /usr/lib/python2.5/encodings/__init__.pyc matches /usr/lib/python2.5/encodings/__init__.py
import encodings # precompiled from /usr/lib/python2.5/encodings/__init__.pyc
# /usr/lib/python2.5/codecs.pyc matches /usr/lib/python2.5/codecs.py
import codecs # precompiled from /usr/lib/python2.5/codecs.pyc
import _codecs # builtin
# /usr/lib/python2.5/encodings/aliases.pyc matches /usr/lib/python2.5/encodings/aliases.py
import encodings.aliases # precompiled from /usr/lib/python2.5/encodings/aliases.pyc
# /usr/lib/python2.5/encodings/utf_8.pyc matches /usr/lib/python2.5/encodings/utf_8.py
import encodings.utf_8 # precompiled from /usr/lib/python2.5/encodings/utf_8.pyc
Python 2.5.2 (r252:60911, Aug 2 2008, 03:34:59)
[GCC 4.1.2 (Gentoo 4.1.2 p1.0.2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
dlopen("/usr/lib/python2.5/lib-dynload/readline.so", 2);
import readline # dynamically loaded from /usr/lib/python2.5/lib-dynload/readline.so
>>> import gtk
import gtk # directory /usr/lib/python2.5/site-packages/gtk-2.0/gtk
# /usr/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.pyc matches /usr/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.py
import gtk # precompiled from /usr/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.pyc
import gobject # directory /usr/lib/python2.5/site-packages/gtk-2.0/gobject
# /usr/lib/python2.5/site-packages/gtk-2.0/gobject/__init__.pyc matches /usr/lib/python2.5/site-packages/gtk-2.0/gobject/__init__.py
import gobject # precompiled from /usr/lib/python2.5/site-packages/gtk-2.0/gobject/__init__.pyc
# /usr/lib/python2.5/site-packages/gtk-2.0/gobject/constants.pyc matches /usr/lib/python2.5/site-packages/gtk-2.0/gobject/constants.py
import gobject.constants # precompiled from /usr/lib/python2.5/site-packages/gtk-2.0/gobject/constants.pyc
dlopen("/usr/lib/python2.5/site-packages/gtk-2.0/gobject/_gobject.so", 2);
import gobject._gobject # dynamically loaded from /usr/lib/python2.5/site-packages/gtk-2.0/gobject/_gobject.so
# /usr/lib/python2.5/site-packages/gtk-2.0/gobject/propertyhelper.pyc matches /usr/lib/python2.5/site-packages/gtk-2.0/gobject/propertyhelper.py
import gobject.propertyhelper # precompiled from /usr/lib/python2.5/site-packages/gtk-2.0/gobject/propertyhelper.pyc
dlopen("/usr/lib/python2.5/site-packages/gtk-2.0/gtk/_gtk.so", 2);
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.py", line 48, in <module>
from gtk import _gtk
ImportError: No module named cairo
在此基础上
>>> import cairo
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cairo
>>>
希望得到指点与帮助,谢谢boss与其他的弟兄 |
|