[Distutils] Distributing doc files w/ distutils src pkg?
Phillip J. Eby
pje at telecommunity.com
Sun Oct 28 20:48:33 CET 2007
At 02:57 PM 10/28/2007 +0000, Skip Montanaro wrote:
>I have a simple setup.py file:
>
> #!/usr/bin/env python
>
> from distutils.core import setup
> setup(name='lockfile',
> author='Skip Montanaro',
> author_email='skip <at> pobox.com',
> maintainer='Skip Montanaro',
> maintainer_email='skip <at> pobox.com',
> url='http://www.webfast.com/~skip/python/',
> download_url='http://www.webfast.com/~skip/python/lockfile.tar.gz',
> version='0.1',
> py_modules=['lockfile'],
> data_files=[('doc', ['lockfile.rst'])],
> )
>
>I've used the data_files arg to setup to note where the docs live. Alas,
>the sdist command doesn't include this in the tar file:
>
> % tar tfz dist/lockfile-0.1.tar.gz
> lockfile-0.1/
> lockfile-0.1/lockfile.py
> lockfile-0.1/PKG-INFO
> lockfile-0.1/README
> lockfile-0.1/setup.py
>
>I'm a complete distutils novice. I can't for the life of me understand why
>the doc directory isn't included in the tar file. As far as I can tell
>distutils has no explicit provision at all for distributing documentation,
>which seems very weird. What am I missing?
A MANIFEST.in file specifying what to include. Distutils requires
one for docs. Note that the data_files option is for *installing*
data files to e.g. /usr/share; if you're doing that you should
probably have a bit more structure to what you install there than
just dumping lockfile.rst in /usr/share/doc (which is what I think
the above setup does).
Distutils isn't very bright about putting things in an sdist unless
you specify them in MANIFEST.in in some way. Setuptools is a bit
smarter, in that it includes stuff under revision control (CVS, svn,
or anything you've installed a file finder plugin for.)
More information about the Distutils-SIG
mailing list