| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | :mod:`distutils` --- Building and installing Python modules
 | 
					
						
							|  |  |  | ===========================================================
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .. module:: distutils
 | 
					
						
							| 
									
										
										
										
											2009-05-17 12:29:12 +00:00
										 |  |  |    :synopsis: Support for building and installing Python modules into an
 | 
					
						
							|  |  |  |               existing Python installation.
 | 
					
						
							| 
									
										
										
										
											2016-06-11 15:02:54 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | .. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-11 15:02:54 -04:00
										 |  |  | --------------
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-29 21:48:55 +00:00
										 |  |  | :mod:`distutils` is deprecated with removal planned for Python 3.12.
 | 
					
						
							|  |  |  | See the :ref:`What's New <distutils-deprecated>` entry for more information.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | --------------
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 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.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-15 21:13:56 -07:00
										 |  |  | Most Python users will *not* want to use this module directly, but instead
 | 
					
						
							| 
									
										
										
										
											2014-10-26 00:00:04 +10:00
										 |  |  | use the cross-version tools maintained by the Python Packaging Authority. In
 | 
					
						
							|  |  |  | particular,
 | 
					
						
							| 
									
										
										
										
											2016-06-05 17:38:48 -07:00
										 |  |  | `setuptools <https://setuptools.readthedocs.io/en/latest/>`__ is an
 | 
					
						
							| 
									
										
										
										
											2014-10-26 00:00:04 +10:00
										 |  |  | 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
 | 
					
						
							| 
									
										
										
										
											2014-10-29 08:36:35 +01:00
										 |  |  | `Python Packaging User Guide <https://packaging.python.org>`_ for more
 | 
					
						
							| 
									
										
										
										
											2014-10-26 00:00:04 +10:00
										 |  |  | information.
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-15 21:13:56 -07:00
										 |  |  | 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:
 | 
					
						
							| 
									
										
										
										
											2011-06-02 15:45:25 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-15 21:13:56 -07:00
										 |  |  | * :ref:`install-index`
 | 
					
						
							|  |  |  | * :ref:`distutils-index`
 |