Distributing Python Modules (Legacy version)¶
- Authors
Greg Ward, Anthony Baxter
See also
- Distributing Python Modules
The up to date module distribution documentations
Note
The entire distutils
package has been deprecated and will be
removed in Python 3.12. This documentation is retained as a
reference only, and will be removed with the package. See the
What’s New entry for more information.
Note
This document is being retained solely until the setuptools
documentation
at https://setuptools.readthedocs.io/en/latest/setuptools.html
independently covers all of the relevant information currently included here.
Note
This guide only covers the basic tools for building and distributing extensions that are provided as part of this version of Python. Third party tools offer easier to use and more secure alternatives. Refer to the quick recommendations section in the Python Packaging User Guide for more information.
This document describes the Python Distribution Utilities (“Distutils”) from
the module developer’s point of view, describing the underlying capabilities
that setuptools
builds on to allow Python developers to make Python modules
and extensions readily available to a wider audience.
- 1. An Introduction to Distutils
- 2. Writing the Setup Script
- 3. Writing the Setup Configuration File
- 4. Creating a Source Distribution
- 5. Creating Built Distributions
- 6. Distutils Examples
- 7. Extending Distutils
- 8. Command Reference
- 9. API Reference
- 9.1.
distutils.core
— Core Distutils functionality - 9.2.
distutils.ccompiler
— CCompiler base class - 9.3.
distutils.unixccompiler
— Unix C Compiler - 9.4.
distutils.msvccompiler
— Microsoft Compiler - 9.5.
distutils.bcppcompiler
— Borland Compiler - 9.6.
distutils.cygwincompiler
— Cygwin Compiler - 9.7.
distutils.archive_util
— Archiving utilities - 9.8.
distutils.dep_util
— Dependency checking - 9.9.
distutils.dir_util
— Directory tree operations - 9.10.
distutils.file_util
— Single file operations - 9.11.
distutils.util
— Miscellaneous other utility functions - 9.12.
distutils.dist
— The Distribution class - 9.13.
distutils.extension
— The Extension class - 9.14.
distutils.debug
— Distutils debug mode - 9.15.
distutils.errors
— Distutils exceptions - 9.16.
distutils.fancy_getopt
— Wrapper around the standard getopt module - 9.17.
distutils.filelist
— The FileList class - 9.18.
distutils.log
— Simple PEP 282-style logging - 9.19.
distutils.spawn
— Spawn a sub-process - 9.20.
distutils.sysconfig
— System configuration information - 9.21.
distutils.text_file
— The TextFile class - 9.22.
distutils.version
— Version number classes - 9.23.
distutils.cmd
— Abstract base class for Distutils commands - 9.24. Creating a new Distutils command
- 9.25.
distutils.command
— Individual Distutils commands - 9.26.
distutils.command.bdist
— Build a binary installer - 9.27.
distutils.command.bdist_packager
— Abstract base class for packagers - 9.28.
distutils.command.bdist_dumb
— Build a “dumb” installer - 9.29.
distutils.command.bdist_rpm
— Build a binary distribution as a Redhat RPM and SRPM - 9.30.
distutils.command.sdist
— Build a source distribution - 9.31.
distutils.command.build
— Build all files of a package - 9.32.
distutils.command.build_clib
— Build any C libraries in a package - 9.33.
distutils.command.build_ext
— Build any extensions in a package - 9.34.
distutils.command.build_py
— Build the .py/.pyc files of a package - 9.35.
distutils.command.build_scripts
— Build the scripts of a package - 9.36.
distutils.command.clean
— Clean a package build area - 9.37.
distutils.command.config
— Perform package configuration - 9.38.
distutils.command.install
— Install a package - 9.39.
distutils.command.install_data
— Install data files from a package - 9.40.
distutils.command.install_headers
— Install C/C++ header files from a package - 9.41.
distutils.command.install_lib
— Install library files from a package - 9.42.
distutils.command.install_scripts
— Install script files from a package - 9.43.
distutils.command.register
— Register a module with the Python Package Index - 9.44.
distutils.command.check
— Check the meta-data of a package
- 9.1.