Edit file File name : index.html Content : <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> <title>Distributing Python Modules (Legacy version) — Python 3.10.12 documentation</title><meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" type="text/css" href="../_static/pygments.css" /> <link rel="stylesheet" type="text/css" href="../_static/pydoctheme.css?2022.1" /> <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script> <script src="../_static/jquery.js"></script> <script src="../_static/underscore.js"></script> <script src="../_static/doctools.js"></script> <script src="../_static/sidebar.js"></script> <link rel="search" type="application/opensearchdescription+xml" title="Search within Python 3.10.12 documentation" href="../_static/opensearch.xml"/> <link rel="author" title="About these documents" href="../about.html" /> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="copyright" title="Copyright" href="../copyright.html" /> <link rel="next" title="1. An Introduction to Distutils" href="introduction.html" /> <link rel="prev" title="History and License" href="../license.html" /> <link rel="canonical" href="file:///usr/share/doc/python3.10/html/distutils/index.html" /> <style> @media only screen { table.full-width-table { width: 100%; } } </style> <link rel="shortcut icon" type="image/png" href="../_static/py.svg" /> <script type="text/javascript" src="../_static/copybutton.js"></script> <script type="text/javascript" src="../_static/menu.js"></script> </head> <body> <div class="mobile-nav"> <input type="checkbox" id="menuToggler" class="toggler__input" aria-controls="navigation" aria-pressed="false" aria-expanded="false" role="button" aria-label="Menu" /> <label for="menuToggler" class="toggler__label"> <span></span> </label> <nav class="nav-content" role="navigation"> <a href="https://www.python.org/" class="nav-logo"> <img src="../_static/py.svg" alt="Logo"/> </a> <div class="version_switcher_placeholder"></div> <form role="search" class="search" action="../search.html" method="get"> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" class="search-icon"> <path fill-rule="nonzero" d="M15.5 14h-.79l-.28-.27a6.5 6.5 0 001.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 00-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 005.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" fill="#444"></path> </svg> <input type="text" name="q" aria-label="Quick search"/> <input type="submit" value="Go"/> </form> </nav> <div class="menu-wrapper"> <nav class="menu" role="navigation" aria-label="main navigation"> <div class="language_switcher_placeholder"></div> <h4>Previous topic</h4> <p class="topless"><a href="../license.html" title="previous chapter">History and License</a></p> <h4>Next topic</h4> <p class="topless"><a href="introduction.html" title="next chapter"><span class="section-number">1. </span>An Introduction to Distutils</a></p> <div role="note" aria-label="source link"> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../bugs.html">Report a Bug</a></li> <li> <a href="https://github.com/python/cpython/blob/3.10/Doc/distutils/index.rst" rel="nofollow">Show Source </a> </li> </ul> </div> </nav> </div> </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" accesskey="I">index</a></li> <li class="right" > <a href="../py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="introduction.html" title="1. An Introduction to Distutils" accesskey="N">next</a> |</li> <li class="right" > <a href="../license.html" title="History and License" accesskey="P">previous</a> |</li> <li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li> <li><a href="https://www.python.org/">Python</a> »</li> <li class="switchers"> <div class="language_switcher_placeholder"></div> <div class="version_switcher_placeholder"></div> </li> <li> </li> <li id="cpython-language-and-version"> <a href="../index.html">3.10.12 Documentation</a> » </li> <li class="nav-item nav-item-this"><a href="">Distributing Python Modules (Legacy version)</a></li> <li class="right"> <div class="inline-search" role="search"> <form class="inline-search" action="../search.html" method="get"> <input placeholder="Quick search" aria-label="Quick search" type="text" name="q" /> <input type="submit" value="Go" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> | </li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <section id="distributing-python-modules-legacy-version"> <span id="distutils-index"></span><h1>Distributing Python Modules (Legacy version)<a class="headerlink" href="#distributing-python-modules-legacy-version" title="Permalink to this headline">¶</a></h1> <dl class="field-list simple"> <dt class="field-odd">Authors</dt> <dd class="field-odd"><p>Greg Ward, Anthony Baxter</p> </dd> <dt class="field-even">Email</dt> <dd class="field-even"><p><a class="reference external" href="mailto:distutils-sig%40python.org">distutils-sig<span>@</span>python<span>.</span>org</a></p> </dd> </dl> <div class="admonition seealso"> <p class="admonition-title">See also</p> <dl class="simple"> <dt><a class="reference internal" href="../distributing/index.html#distributing-index"><span class="std std-ref">Distributing Python Modules</span></a></dt><dd><p>The up to date module distribution documentations</p> </dd> </dl> </div> <div class="admonition note"> <p class="admonition-title">Note</p> <p>The entire <code class="docutils literal notranslate"><span class="pre">distutils</span></code> 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 <a class="reference internal" href="../whatsnew/3.10.html#distutils-deprecated"><span class="std std-ref">What’s New</span></a> entry for more information.</p> </div> <div class="admonition note"> <p class="admonition-title">Note</p> <p>This document is being retained solely until the <code class="docutils literal notranslate"><span class="pre">setuptools</span></code> documentation at <a class="reference external" href="https://setuptools.readthedocs.io/en/latest/setuptools.html">https://setuptools.readthedocs.io/en/latest/setuptools.html</a> independently covers all of the relevant information currently included here.</p> </div> <div class="admonition note"> <p class="admonition-title">Note</p> <p>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 <a class="reference external" href="https://packaging.python.org/guides/tool-recommendations/">quick recommendations section</a> in the Python Packaging User Guide for more information.</p> </div> <p>This document describes the Python Distribution Utilities (“Distutils”) from the module developer’s point of view, describing the underlying capabilities that <code class="docutils literal notranslate"><span class="pre">setuptools</span></code> builds on to allow Python developers to make Python modules and extensions readily available to a wider audience.</p> <div class="toctree-wrapper compound"> <ul> <li class="toctree-l1"><a class="reference internal" href="introduction.html">1. An Introduction to Distutils</a><ul> <li class="toctree-l2"><a class="reference internal" href="introduction.html#concepts-terminology">1.1. Concepts & Terminology</a></li> <li class="toctree-l2"><a class="reference internal" href="introduction.html#a-simple-example">1.2. A Simple Example</a></li> <li class="toctree-l2"><a class="reference internal" href="introduction.html#general-python-terminology">1.3. General Python terminology</a></li> <li class="toctree-l2"><a class="reference internal" href="introduction.html#distutils-specific-terminology">1.4. Distutils-specific terminology</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="setupscript.html">2. Writing the Setup Script</a><ul> <li class="toctree-l2"><a class="reference internal" href="setupscript.html#listing-whole-packages">2.1. Listing whole packages</a></li> <li class="toctree-l2"><a class="reference internal" href="setupscript.html#listing-individual-modules">2.2. Listing individual modules</a></li> <li class="toctree-l2"><a class="reference internal" href="setupscript.html#describing-extension-modules">2.3. Describing extension modules</a></li> <li class="toctree-l2"><a class="reference internal" href="setupscript.html#relationships-between-distributions-and-packages">2.4. Relationships between Distributions and Packages</a></li> <li class="toctree-l2"><a class="reference internal" href="setupscript.html#installing-scripts">2.5. Installing Scripts</a></li> <li class="toctree-l2"><a class="reference internal" href="setupscript.html#installing-package-data">2.6. Installing Package Data</a></li> <li class="toctree-l2"><a class="reference internal" href="setupscript.html#installing-additional-files">2.7. Installing Additional Files</a></li> <li class="toctree-l2"><a class="reference internal" href="setupscript.html#additional-meta-data">2.8. Additional meta-data</a></li> <li class="toctree-l2"><a class="reference internal" href="setupscript.html#debugging-the-setup-script">2.9. Debugging the setup script</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="configfile.html">3. Writing the Setup Configuration File</a></li> <li class="toctree-l1"><a class="reference internal" href="sourcedist.html">4. Creating a Source Distribution</a><ul> <li class="toctree-l2"><a class="reference internal" href="sourcedist.html#specifying-the-files-to-distribute">4.1. Specifying the files to distribute</a></li> <li class="toctree-l2"><a class="reference internal" href="sourcedist.html#manifest-related-options">4.2. Manifest-related options</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="builtdist.html">5. Creating Built Distributions</a><ul> <li class="toctree-l2"><a class="reference internal" href="builtdist.html#creating-rpm-packages">5.1. Creating RPM packages</a></li> <li class="toctree-l2"><a class="reference internal" href="builtdist.html#cross-compiling-on-windows">5.2. Cross-compiling on Windows</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="examples.html">6. Distutils Examples</a><ul> <li class="toctree-l2"><a class="reference internal" href="examples.html#pure-python-distribution-by-module">6.1. Pure Python distribution (by module)</a></li> <li class="toctree-l2"><a class="reference internal" href="examples.html#pure-python-distribution-by-package">6.2. Pure Python distribution (by package)</a></li> <li class="toctree-l2"><a class="reference internal" href="examples.html#single-extension-module">6.3. Single extension module</a></li> <li class="toctree-l2"><a class="reference internal" href="examples.html#checking-a-package">6.4. Checking a package</a></li> <li class="toctree-l2"><a class="reference internal" href="examples.html#reading-the-metadata">6.5. Reading the metadata</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="extending.html">7. Extending Distutils</a><ul> <li class="toctree-l2"><a class="reference internal" href="extending.html#integrating-new-commands">7.1. Integrating new commands</a></li> <li class="toctree-l2"><a class="reference internal" href="extending.html#adding-new-distribution-types">7.2. Adding new distribution types</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="commandref.html">8. Command Reference</a><ul> <li class="toctree-l2"><a class="reference internal" href="commandref.html#installing-modules-the-install-command-family">8.1. Installing modules: the <strong class="command">install</strong> command family</a></li> <li class="toctree-l2"><a class="reference internal" href="commandref.html#creating-a-source-distribution-the-sdist-command">8.2. Creating a source distribution: the <strong class="command">sdist</strong> command</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="apiref.html">9. API Reference</a><ul> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.core">9.1. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.core</span></code> — Core Distutils functionality</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.ccompiler">9.2. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.ccompiler</span></code> — CCompiler base class</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.unixccompiler">9.3. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.unixccompiler</span></code> — Unix C Compiler</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.msvccompiler">9.4. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.msvccompiler</span></code> — Microsoft Compiler</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.bcppcompiler">9.5. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.bcppcompiler</span></code> — Borland Compiler</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.cygwinccompiler">9.6. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.cygwincompiler</span></code> — Cygwin Compiler</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.archive_util">9.7. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.archive_util</span></code> — Archiving utilities</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.dep_util">9.8. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.dep_util</span></code> — Dependency checking</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.dir_util">9.9. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.dir_util</span></code> — Directory tree operations</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.file_util">9.10. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.file_util</span></code> — Single file operations</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.util">9.11. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.util</span></code> — Miscellaneous other utility functions</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.dist">9.12. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.dist</span></code> — The Distribution class</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.extension">9.13. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.extension</span></code> — The Extension class</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.debug">9.14. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.debug</span></code> — Distutils debug mode</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.errors">9.15. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.errors</span></code> — Distutils exceptions</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.fancy_getopt">9.16. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.fancy_getopt</span></code> — Wrapper around the standard getopt module</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.filelist">9.17. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.filelist</span></code> — The FileList class</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.log">9.18. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.log</span></code> — Simple <strong>PEP 282</strong>-style logging</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.spawn">9.19. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.spawn</span></code> — Spawn a sub-process</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.sysconfig">9.20. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.sysconfig</span></code> — System configuration information</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.text_file">9.21. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.text_file</span></code> — The TextFile class</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.version">9.22. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.version</span></code> — Version number classes</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.cmd">9.23. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.cmd</span></code> — Abstract base class for Distutils commands</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#creating-a-new-distutils-command">9.24. Creating a new Distutils command</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command">9.25. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command</span></code> — Individual Distutils commands</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.bdist">9.26. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.bdist</span></code> — Build a binary installer</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.bdist_packager">9.27. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.bdist_packager</span></code> — Abstract base class for packagers</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.bdist_dumb">9.28. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.bdist_dumb</span></code> — Build a “dumb” installer</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.bdist_msi">9.29. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.bdist_msi</span></code> — Build a Microsoft Installer binary package</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.bdist_rpm">9.30. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.bdist_rpm</span></code> — Build a binary distribution as a Redhat RPM and SRPM</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.sdist">9.31. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.sdist</span></code> — Build a source distribution</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.build">9.32. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.build</span></code> — Build all files of a package</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.build_clib">9.33. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.build_clib</span></code> — Build any C libraries in a package</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.build_ext">9.34. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.build_ext</span></code> — Build any extensions in a package</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.build_py">9.35. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.build_py</span></code> — Build the .py/.pyc files of a package</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.build_scripts">9.36. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.build_scripts</span></code> — Build the scripts of a package</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.clean">9.37. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.clean</span></code> — Clean a package build area</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.config">9.38. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.config</span></code> — Perform package configuration</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.install">9.39. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.install</span></code> — Install a package</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.install_data">9.40. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.install_data</span></code> — Install data files from a package</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.install_headers">9.41. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.install_headers</span></code> — Install C/C++ header files from a package</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.install_lib">9.42. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.install_lib</span></code> — Install library files from a package</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.install_scripts">9.43. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.install_scripts</span></code> — Install script files from a package</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.register">9.44. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.register</span></code> — Register a module with the Python Package Index</a></li> <li class="toctree-l2"><a class="reference internal" href="apiref.html#module-distutils.command.check">9.45. <code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils.command.check</span></code> — Check the meta-data of a package</a></li> </ul> </li> </ul> </div> </section> <div class="clearer"></div> </div> </div> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"> <h4>Previous topic</h4> <p class="topless"><a href="../license.html" title="previous chapter">History and License</a></p> <h4>Next topic</h4> <p class="topless"><a href="introduction.html" title="next chapter"><span class="section-number">1. </span>An Introduction to Distutils</a></p> <div role="note" aria-label="source link"> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../bugs.html">Report a Bug</a></li> <li> <a href="https://github.com/python/cpython/blob/3.10/Doc/distutils/index.rst" rel="nofollow">Show Source </a> </li> </ul> </div> </div> </div> <div class="clearer"></div> </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" >index</a></li> <li class="right" > <a href="../py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="introduction.html" title="1. An Introduction to Distutils" >next</a> |</li> <li class="right" > <a href="../license.html" title="History and License" >previous</a> |</li> <li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li> <li><a href="https://www.python.org/">Python</a> »</li> <li class="switchers"> <div class="language_switcher_placeholder"></div> <div class="version_switcher_placeholder"></div> </li> <li> </li> <li id="cpython-language-and-version"> <a href="../index.html">3.10.12 Documentation</a> » </li> <li class="nav-item nav-item-this"><a href="">Distributing Python Modules (Legacy version)</a></li> <li class="right"> <div class="inline-search" role="search"> <form class="inline-search" action="../search.html" method="get"> <input placeholder="Quick search" aria-label="Quick search" type="text" name="q" /> <input type="submit" value="Go" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> | </li> </ul> </div> <div class="footer"> © <a href="../copyright.html">Copyright</a> 2001-2025, Python Software Foundation. <br /> This page is licensed under the Python Software Foundation License Version 2. <br /> Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License. <br /> See <a href="/license.html">History and License</a> for more information.<br /> <br /> The Python Software Foundation is a non-profit corporation. <a href="https://www.python.org/psf/donations/">Please donate.</a> <br /> <br /> Last updated on February 04, 2025. <a href="/bugs.html">Found a bug</a>? <br /> Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2. </div> </body> </html> Save