blob: bb74df6cbc7c838ff7b1aa4508b1d8a6f61e7306 [file] [log] [blame]
\section{\module{pydoc} ---
Documentation generator and online help system}
\declaremodule{standard}{pydoc}
\modulesynopsis{Documentation generator and online help system.}
\moduleauthor{Ka-Ping Yee}{ping@lfw.org}
\sectionauthor{Ka-Ping Yee}{ping@lfw.org}
\versionadded{2.1}
\index{documentation!generation}
\index{documentation!online}
\index{help!online}
The \module{pydoc} module automatically generates documentation from
Python modules. The documentation can be presented as pages of text
on the console, served to a Web browser, or saved to HTML files.
The built-in function \function{help()} invokes the online help system
in the interactive interpreter, which uses \module{pydoc} to generate
its documentation as text on the console. The same text documentation
can also be viewed from outside the Python interpreter by running
\program{pydoc} as a script at the operating system's command prompt.
For example, running
\begin{verbatim}
pydoc sys
\end{verbatim}
at a shell prompt will display documentation on the \refmodule{sys}
module, in a style similar to the manual pages shown by the \UNIX{}
\program{man} command. The argument to \program{pydoc} can be the name
of a function, module, or package, or a dotted reference to a class,
method, or function within a module or module in a package. If the
argument to \program{pydoc} looks like a path (that is, it contains the
path separator for your operating system, such as a slash in \UNIX),
and refers to an existing Python source file, then documentation is
produced for that file.
Specifying a \programopt{-w} flag before the argument will cause HTML
documentation to be written out to a file in the current directory,
instead of displaying text on the console.
Specifying a \programopt{-k} flag before the argument will search the
synopsis lines of all available modules for the keyword given as the
argument, again in a manner similar to the \UNIX{} \program{man}
command. The synopsis line of a module is the first line of its
documentation string.
You can also use \program{pydoc} to start an HTTP server on the local
machine that will serve documentation to visiting Web browsers.
\program{pydoc} \programopt{-p 1234} will start a HTTP server on port
1234, allowing you to browse the documentation at
\code{http://localhost:1234/} in your preferred Web browser.
\program{pydoc} \programopt{-g} will start the server and additionally
bring up a small \refmodule{Tkinter}-based graphical interface to help
you search for documentation pages.
When \program{pydoc} generates documentation, it uses the current
environment and path to locate modules. Thus, invoking
\program{pydoc} \programopt{spam} documents precisely the version of
the module you would get if you started the Python interpreter and
typed \samp{import spam}.
Module docs for core modules are assumed to reside in
{}\url{http://www.python.org/doc/current/lib/}. This can be overridden by
setting the \envvar{PYTHONDOCS} environment variable to a different URL or
to a local directory containing the Library Reference Manual pages.