Yurttas/PL/SL/python/docs/core-python-programming/doc/20/dist/manifest-options.html

From ZCubes Wiki
Jump to navigation Jump to search


5.2 Manifest-related options

The normal course of operations for the sdist command is as follows:

  • if the manifest file, MANIFEST doesn't exist, read MANIFEST.in and create the manifest
  • if neither MANIFEST nor MANIFEST.in exist, create a manifest with just the default file set3
  • if either MANIFEST.in or the setup script (setup.py) are more recent than MANIFEST, recreate MANIFEST by reading MANIFEST.in
  • use the list of files now in MANIFEST (either just generated or read in) to create the source distribution archive(s)

There are a couple of options that modify this behaviour. First, use the --no-defaults and --no-prune to disable the standard ``include'' and ``exclude'' sets.4

Second, you might want to force the manifest to be regenerated--for example, if you have added or removed files or directories that match an existing pattern in the manifest template, you should regenerate the manifest:

python setup.py sdist --force-manifest

Or, you might just want to (re)generate the manifest, but not create a source distribution:

python setup.py sdist --manifest-only

--manifest-only implies --force-manifest. -o is a shortcut for --manifest-only, and -f for --force-manifest.



Footnotes

... set3
In versions of the Distutils up to and including 0.9.2 (Python 2.0b1), this feature was broken; use the -f (--force-manifest) option to work around the bug.
... sets.4
Note that if you have no manifest template, no manifest, and use the --no-defaults, you will get an empty manifest. Another bug in Distutils 0.9.2 and earlier causes an uncaught exception in this case. The workaround is: Don't Do That.

See About this document... for information on suggesting changes.