[PEAK] how to use "help()" ?
Phillip J. Eby
pje at telecommunity.com
Wed Jan 11 14:48:08 EST 2006
At 02:16 PM 1/11/2006 -0500, Michael Bayer wrote:
>My apologies if this issue is already posted somewhere, I was not able to
>find a mention on the mailing list or in the docs -
>I have a user who wants to use the "help()" function on a module that was
>installed as an egg by setuptools. It seems that help() has some
>dependency on the module being linked to a .py file inside real directory:
>Trying to use help() under python interperter, and get error:
> >>> import sqlalchemy
> >>> help(sqlalchemy)
>OSError: [Errno 20] Not a directory:
>is this just a known issue with help() ?
Yes; the pydoc module is heavily broken with respect to packages,
especially in the presence of zipimport, namespace packages, and PEP 302
import hooks. It needs an overhaul, which I'm thinking about supplying via
monkeypatches in setuptools (as well as official patches to fix it in
future Python versions).
In the meantime, note that it is not a problem for individual modules; you
could do a help() on a specific module or class within sqlalchemy, just not
the package itself. You can also install an egg using --always-unzip, and
it will be extracted to the filesystem so that tools like this will work.
More information about the PEAK