Odd behavior of python module listing

Lie Lie.1296 at gmail.com
Mon Jun 9 16:58:43 EDT 2008


Yesterday I installed compiz-icon in my Ubuntu. Today, when I go to
the python interpreter, I happen to do this:

### START OF PYTHON SESSION ###
Python 2.5.2 (r252:60911, Apr 21 2008, 11:17:30)
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> help()

Welcome to Python 2.5!  This is the online help utility.

If this is your first time using Python, you should definitely check
out
the tutorial on the Internet at http://www.python.org/doc/tut/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility
and
return to the interpreter, just type "quit".

To get a list of available modules, keywords, or topics, type
"modules",
"keywords", or "topics".  Each module also comes with a one-line
summary
of what it does; to list the modules whose summaries contain a given
word
such as "spam", type "modules spam".

help> modules

Please wait a moment while I gather a list of all available modules...

 * Starting Compiz
 ... executing: compiz.real --replace --sm-disable --ignore-desktop-
hints ccp
Starting gtk-window-decorator
compiz.real (video) - Warn: No 8 bit GLX pixmap format, disabling YV12
image format
GConf backend: There is an unsupported value at path /apps/compiz/
plugins/scale/allscreens/options/initiate_edge. Settings from this
path won't be read. Try to remove that value so that operation can
continue properly.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/site.py", line 342, in __call__
    return pydoc.help(*args, **kwds)
  File "/usr/lib/python2.5/pydoc.py", line 1649, in __call__
    self.interact()
  File "/usr/lib/python2.5/pydoc.py", line 1667, in interact
    self.help(request)
  File "/usr/lib/python2.5/pydoc.py", line 1683, in help
    elif request == 'modules': self.listmodules()
  File "/usr/lib/python2.5/pydoc.py", line 1804, in listmodules
    ModuleScanner().run(callback)
  File "/usr/lib/python2.5/pydoc.py", line 1855, in run
    for importer, modname, ispkg in pkgutil.walk_packages():
  File "/usr/lib/python2.5/pkgutil.py", line 125, in walk_packages
    for item in walk_packages(path, name+'.', onerror):
  File "/usr/lib/python2.5/pkgutil.py", line 110, in walk_packages
    __import__(name)
  File "/usr/lib/python2.5/site-packages/FusionIcon/interface_gtk/
__init__.py", line 3, in <module>
    import main
  File "/usr/lib/python2.5/site-packages/FusionIcon/interface_gtk/
main.py", line 213, in <module>
    gtk.main()
KeyboardInterrupt
>>>
### END OF PYTHON SESSION ###

How on earth could python's help utility crashed compiz-icon, and made
compiz crash too (I lost my windows decoration after the crash). This
is repeatable, until I uninstalled compiz-icon. After uninstalling, I
retried help -> modules again, same problem, different program, now a
blank Tk window showed up and it printed this traceback:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/site.py", line 342, in __call__
    return pydoc.help(*args, **kwds)
  File "/usr/lib/python2.5/pydoc.py", line 1649, in __call__
    self.interact()
  File "/usr/lib/python2.5/pydoc.py", line 1667, in interact
    self.help(request)
  File "/usr/lib/python2.5/pydoc.py", line 1683, in help
    elif request == 'modules': self.listmodules()
  File "/usr/lib/python2.5/pydoc.py", line 1804, in listmodules
    ModuleScanner().run(callback)
  File "/usr/lib/python2.5/pydoc.py", line 1855, in run
    for importer, modname, ispkg in pkgutil.walk_packages():
  File "/usr/lib/python2.5/pkgutil.py", line 125, in walk_packages
    for item in walk_packages(path, name+'.', onerror):
  File "/usr/lib/python2.5/pkgutil.py", line 110, in walk_packages
    __import__(name)
  File "/usr/lib/python2.5/site-packages/OpenGL/Tk/__init__.py", line
87, in <module>
    _default_root.tk.call('package', 'require', 'Togl')
_tkinter.TclError: can't find package Togl

OK, I don't think I can uninstall Tk without messing up a lot of
harmless python programs later, and by now, I figured out that the
problem isn't in compiz-icon afterall.

So, has anyone got something like this?

PS: Ubuntu Hardy Heron (8.04) + Python 2.5.2



More information about the Python-list mailing list