diff --git a/source/discussions/index.rst b/source/discussions/index.rst index b1b84f97a4..a62af08e68 100644 --- a/source/discussions/index.rst +++ b/source/discussions/index.rst @@ -10,7 +10,6 @@ specific topic. If you're just trying to get stuff done, see versioning deploying-python-applications - pip-vs-easy-install install-requires-vs-requirements distribution-package-vs-import-package package-formats diff --git a/source/discussions/pip-vs-easy-install.rst b/source/discussions/pip-vs-easy-install.rst deleted file mode 100644 index 2bb75d3be9..0000000000 --- a/source/discussions/pip-vs-easy-install.rst +++ /dev/null @@ -1,71 +0,0 @@ - -.. _`pip vs easy_install`: - -=================== -pip vs easy_install -=================== - - -:ref:`easy_install `, now `deprecated`_, was released in 2004 as part of :ref:`setuptools`. -It was notable at the time for installing :term:`packages ` from -:term:`PyPI ` using requirement specifiers, and -automatically installing dependencies. - -:ref:`pip` came later in 2008, as an alternative to :ref:`easy_install `, although still -largely built on top of :ref:`setuptools` components. It was notable at the -time for *not* installing packages as :term:`Eggs ` or from :term:`Eggs ` (but -rather simply as 'flat' packages from :term:`sdists `), and introducing the idea of :ref:`Requirements Files -`, which gave users the power to easily replicate -environments. - -Here's a breakdown of the important differences between pip and the deprecated easy_install: - -+------------------------------+--------------------------------------+-------------------------------+ -| | **pip** | **easy_install** | -+------------------------------+--------------------------------------+-------------------------------+ -|Installs from :term:`Wheels |Yes |No | -|` | | | -+------------------------------+--------------------------------------+-------------------------------+ -|Uninstall Packages |Yes (``python -m pip uninstall``) |No | -+------------------------------+--------------------------------------+-------------------------------+ -|Dependency Overrides |Yes (:ref:`Requirements Files |No | -| |`) | | -+------------------------------+--------------------------------------+-------------------------------+ -|List Installed Packages |Yes (``python -m pip list`` and |No | -| |``python -m pip freeze``) | | -+------------------------------+--------------------------------------+-------------------------------+ -|:pep:`438` |Yes |No | -|Support | | | -+------------------------------+--------------------------------------+-------------------------------+ -|Installation format |'Flat' packages with :file:`egg-info` | Encapsulated Egg format | -| |metadata. | | -+------------------------------+--------------------------------------+-------------------------------+ -|sys.path modification |No |Yes | -| | | | -| | | | -+------------------------------+--------------------------------------+-------------------------------+ -|Installs from :term:`Eggs |No |Yes | -|` | | | -+------------------------------+--------------------------------------+-------------------------------+ -|`pylauncher support`_ |No |Yes [1]_ | -| | | | -+------------------------------+--------------------------------------+-------------------------------+ -|:ref:`Multi-version Installs` |No |Yes | -| | | | -+------------------------------+--------------------------------------+-------------------------------+ -|Exclude scripts during install|No |Yes | -| | | | -+------------------------------+--------------------------------------+-------------------------------+ -|per project index |Only in virtualenv |Yes, via setup.cfg | -| | | | -+------------------------------+--------------------------------------+-------------------------------+ - ----- - -.. _deprecated: https://setuptools.readthedocs.io/en/latest/history.html#v42-0-0 - -.. [1] https://setuptools.readthedocs.io/en/latest/deprecated/easy_install.html#natural-script-launcher - - -.. _pylauncher support: https://bitbucket.org/vinay.sajip/pylauncher diff --git a/source/guides/tool-recommendations.rst b/source/guides/tool-recommendations.rst index bf8d93d5a2..5fee0a98bc 100644 --- a/source/guides/tool-recommendations.rst +++ b/source/guides/tool-recommendations.rst @@ -44,10 +44,8 @@ For scientific software specifically, consider :ref:`Conda` or :ref:`Spack`. .. todo:: Write a "pip vs. Conda" comparison, here or in a new discussion. -Do **not** use ``easy_install`` (part of :ref:`setuptools`), which is deprecated -in favor of pip (see :ref:`pip vs easy_install` for details). Likewise, do -**not** use ``python setup.py install`` or ``python setup.py develop``, which -are also deprecated (see :ref:`setup-py-deprecated` for background and +Do **not** use ``python setup.py install`` or ``python setup.py develop``, which +are deprecated (see :ref:`setup-py-deprecated` for background and :ref:`modernize-setup-py-project` for migration advice). @@ -100,10 +98,9 @@ in alphabetical order: :file:`setup.py` only if programmatic configuration is needed. See :ref:`setup-py-deprecated`. - Other examples of deprecated features you should **not** use include the + Another example of a deprecated feature you should **not** use is the ``setup_requires`` argument to ``setup()`` (use the :ref:`[build-system] table - ` in :file:`pyproject.toml` instead), and - the ``easy_install`` command (cf. :ref:`pip vs easy_install`). + ` in :file:`pyproject.toml` instead). Do **not** use :ref:`distutils`, which is deprecated, and has been removed from the standard library in Python 3.12, although it still remains available from diff --git a/source/index.rst b/source/index.rst index aa522c8c5d..9342bec3d1 100644 --- a/source/index.rst +++ b/source/index.rst @@ -83,7 +83,6 @@ The :doc:`discussions/index` section provides in-depth explanations and discussi about topics, such as: * :doc:`discussions/deploying-python-applications` -* :doc:`discussions/pip-vs-easy-install` Reference ========= diff --git a/source/key_projects.rst b/source/key_projects.rst index 98e87b12d8..5abe5e60dc 100644 --- a/source/key_projects.rst +++ b/source/key_projects.rst @@ -268,7 +268,6 @@ process, to check that their package descriptions will properly display on PyPI. .. _setuptools: -.. _easy_install: Setuptools ========== @@ -278,10 +277,10 @@ Setuptools `GitHub `__ | `PyPI `__ -Setuptools (which includes ``easy_install``) is a collection of -enhancements to the Python distutils that allow you to more easily -build and distribute Python :term:`distributions `, especially ones that have dependencies on other packages. +Setuptools is a collection of enhancements to the Python distutils +that allow you to more easily build and distribute Python +:term:`distributions `, especially ones that +have dependencies on other packages. .. _trove-classifiers: diff --git a/source/specifications/externally-managed-environments.rst b/source/specifications/externally-managed-environments.rst index 65fc14a626..8241e25ea0 100644 --- a/source/specifications/externally-managed-environments.rst +++ b/source/specifications/externally-managed-environments.rst @@ -82,16 +82,10 @@ Python-specific package manager A tool for installing, upgrading, and/or removing Python packages in a manner that conforms to Python packaging standards. The most popular Python-specific package - manager is pip_; other examples include the old `Easy - Install command `_ as well as direct usage of a - ``setup.py`` command. + manager is pip_. Another popular example is uv_. .. _pip: https://pip.pypa.io/en/stable/ - .. _easy-install: https://setuptools.readthedocs.io/en/latest/deprecated/easy_install.html - - (Note that the ``easy_install`` command was removed in - setuptools version 52, released 23 January 2021.) - + .. _uv: https://docs.astral.sh/uv/ (Conda_ is a bit of a special case, as the ``conda`` command can install much more than just Python packages, making it