1:mod:`distutils` --- Building and installing Python modules
2===========================================================
3
4.. module:: distutils
5   :synopsis: Support for building and installing Python modules into an
6              existing Python installation.
7
8.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
9
10--------------
11
12The :mod:`distutils` package provides support for building and installing
13additional modules into a Python installation.  The new modules may be either
14100%-pure Python, or may be extension modules written in C, or may be
15collections of Python packages which include modules coded in both Python and C.
16
17Most Python users will *not* want to use this module directly, but instead
18use the cross-version tools maintained by the Python Packaging Authority. In
19particular,
20`setuptools <https://setuptools.readthedocs.io/en/latest/>`__ is an
21enhanced alternative to :mod:`distutils` that provides:
22
23* support for declaring project dependencies
24* additional mechanisms for configuring which files to include in source
25  releases (including plugins for integration with version control systems)
26* the ability to declare project "entry points", which can be used as the
27  basis for application plugin systems
28* the ability to automatically generate Windows command line executables at
29  installation time rather than needing to prebuild them
30* consistent behaviour across all supported Python versions
31
32The recommended `pip <https://pip.pypa.io/>`__ installer runs all
33``setup.py`` scripts with ``setuptools``, even if the script itself only
34imports ``distutils``. Refer to the
35`Python Packaging User Guide <https://packaging.python.org>`_ for more
36information.
37
38For the benefits of packaging tool authors and users seeking a deeper
39understanding of the details of the current packaging and distribution
40system, the legacy :mod:`distutils` based user documentation and API
41reference remain available:
42
43* :ref:`install-index`
44* :ref:`distutils-index`
45