45 lines
1.9 KiB
ReStructuredText
45 lines
1.9 KiB
ReStructuredText
:mod:`distutils` --- Building and installing Python modules
|
|
===========================================================
|
|
|
|
.. module:: distutils
|
|
:synopsis: Support for building and installing Python modules into an
|
|
existing Python installation.
|
|
|
|
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
|
|
|
--------------
|
|
|
|
The :mod:`distutils` package provides support for building and installing
|
|
additional modules into a Python installation. The new modules may be either
|
|
100%-pure Python, or may be extension modules written in C, or may be
|
|
collections of Python packages which include modules coded in both Python and C.
|
|
|
|
Most Python users will *not* want to use this module directly, but instead
|
|
use the cross-version tools maintained by the Python Packaging Authority. In
|
|
particular,
|
|
`setuptools <https://setuptools.readthedocs.io/en/latest/>`__ is an
|
|
enhanced alternative to :mod:`distutils` that provides:
|
|
|
|
* support for declaring project dependencies
|
|
* additional mechanisms for configuring which files to include in source
|
|
releases (including plugins for integration with version control systems)
|
|
* the ability to declare project "entry points", which can be used as the
|
|
basis for application plugin systems
|
|
* the ability to automatically generate Windows command line executables at
|
|
installation time rather than needing to prebuild them
|
|
* consistent behaviour across all supported Python versions
|
|
|
|
The recommended `pip <https://pip.pypa.io/>`__ installer runs all
|
|
``setup.py`` scripts with ``setuptools``, even if the script itself only
|
|
imports ``distutils``. Refer to the
|
|
`Python Packaging User Guide <https://packaging.python.org>`_ for more
|
|
information.
|
|
|
|
For the benefits of packaging tool authors and users seeking a deeper
|
|
understanding of the details of the current packaging and distribution
|
|
system, the legacy :mod:`distutils` based user documentation and API
|
|
reference remain available:
|
|
|
|
* :ref:`install-index`
|
|
* :ref:`distutils-index`
|