New submission from Dennis Kaarsemaker <[EMAIL PROTECTED]>: 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:
[EMAIL PROTECTED]:~$ 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 <[EMAIL PROTECTED]> <http://bugs.python.org/issue2519> __________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com