[Distutils] setuptools and man pages

P.J. Eby pje at telecommunity.com
Tue Jan 25 21:10:09 CET 2011

At 12:03 PM 1/25/2011 -0700, Andrew McNabb wrote:
>I am maintaining a package that includes several scripts, and I recently
>added a man page.  Unfortunately, I was unable to figure out how to
>specify the man page with setuptools.  I ended up switching back to
>vanilla distutils, which allowed me to specify the man page in setup.py:
>     data_files=[('man/man1', ['man/man1/pssh.1'])]
>Is there an equivalent way to do this with setuptools?  The closest
>thing I could find in the setuptools documentation was, "Note, by the
>way, that this encapsulation of data files means that you can't actually
>install data files to some arbitrary location on a user's machine; this
>is a feature, not a bug."  I appreciate the well-intended thought, but I
>can't find any feature for specifying man pages.  I don't want to
>install to an arbitrary location, but I need to be able to install to
>Is there a way to do this with setuptools, or do I need to keep using
>distutils?  I would love to be able to use the "console_scripts"
>feature, so it would be great if I could use setuptools, but obviously
>the man pages are higher priority.  I feel like I must be missing
>something obvious.  Thanks.

Setuptools has a distutils-compatible installation mode:

    "setup.py install --single-version-externally-managed --record=somefile"

It's a bit awkward to type, but it should do what you want.

More information about the Distutils-SIG mailing list