[New-bugs-announce] [issue2519] Typing 'modules' in the interactive help system fails when imports fail

Dennis Kaarsemaker report at bugs.python.org
Mon Mar 31 09:39:56 CEST 2008


New submission from Dennis Kaarsemaker <dennis at kaarsemaker.net>:

If a certain module cannot be imported, this error is not caught and
warned about by pydoc, but will cause 'modules' to fail. This could be
considered a bug in the module but it would still be nice if 3rd party
modules cannot break pydoc. Example:

dennis at mirage:~$ python
Python 2.5.2 (r252:60911, Mar 12 2008, 13:36:25) 
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> help()

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

help> modules

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

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):

[... snip -- the actual error isn't important ...]
OperationalError: no such table: falcon_configurationkey

>>> 

I think it would be relatively easy to work around such bugs in 3rd
party modules by passing a callable to walk_packages that will give a
warning when an import fails instead of breaking.

----------
components: Library (Lib)
messages: 64778
nosy: dennis
severity: normal
status: open
title: Typing 'modules' in the interactive help system fails when imports fail

__________________________________
Tracker <report at bugs.python.org>
<http://bugs.python.org/issue2519>
__________________________________


More information about the New-bugs-announce mailing list