@@ -35,11 +35,11 @@ in most Python installations through the standard library package
35
35
:doc: `ensurepip <python:library/ensurepip >`.
36
36
37
37
Alternatively, consider :ref: `pipx ` for the specific use case of installing Python
38
- command line applications that are distributed through PyPI.
38
+ applications that are distributed through PyPI and run from the command line .
39
39
Pipx is a wrapper around pip and venv that installs each
40
40
application into a dedicated virtual environment. This avoids conflicts between
41
- the dependencies of different applications, and also with the system
42
- (especially on Linux).
41
+ the dependencies of different applications, and also with system-wide applications
42
+ making use of the same Python interpreter (especially on Linux).
43
43
44
44
For scientific software specifically, consider :ref: `Conda ` or :ref: `Spack `.
45
45
@@ -66,8 +66,8 @@ Build backends
66
66
Popular :term: `build backends <build backend> ` for pure-Python packages include,
67
67
in alphabetical order:
68
68
69
- - Flit-core _ -- developed with but separate from :ref: `Flit `. A minimal and
70
- opinionated build backend. It does not support plugins.
69
+ - :doc: ` Flit-core < flit:pyproject_toml >` -- developed with but separate from :ref: `Flit `.
70
+ A minimal and opinionated build backend. It does not support plugins.
71
71
72
72
- Hatchling _ -- developed with but separate from :ref: `Hatch `. Supports plugins.
73
73
@@ -82,21 +82,23 @@ in alphabetical order:
82
82
83
83
- :ref: `setuptools `, which used to be the only build backend. Supports plugins.
84
84
85
- If you use setuptools, please be aware that some features that predate
86
- standardisation efforts are now deprecated and only *temporarily kept *
87
- for compatibility.
85
+ .. caution ::
88
86
89
- In particular, do **not ** use direct ``python setup.py `` invocations. On the
90
- other hand, configuring setuptools with a :file: `setup.py ` file is still fully
91
- supported, although it is recommended to use the modern :ref: `[project] table
92
- in pyproject.toml <writing-pyproject-toml>` whenever possible and keep
93
- :file: `setup.py ` only if programmatic configuration is needed. See
94
- :ref: `setup-py-deprecated `.
87
+ If you use setuptools, please be aware that some features that predate
88
+ standardisation efforts are now deprecated and only *temporarily kept *
89
+ for compatibility.
95
90
96
- Other examples of deprecated features you should **not ** use include the
97
- ``setup_requires `` argument to ``setup() `` (use the :ref: `[build-system] table
98
- <pyproject-guide-build-system-table>` in :file: `pyproject.toml ` instead), and
99
- the ``easy_install `` command (cf. :ref: `pip vs easy_install `).
91
+ In particular, do **not ** use direct ``python setup.py `` invocations. On the
92
+ other hand, configuring setuptools with a :file: `setup.py ` file is still fully
93
+ supported, although it is recommended to use the modern :ref: `[project] table
94
+ in pyproject.toml <writing-pyproject-toml>` whenever possible and keep
95
+ :file: `setup.py ` only if programmatic configuration is needed. See
96
+ :ref: `setup-py-deprecated `.
97
+
98
+ Other examples of deprecated features you should **not ** use include the
99
+ ``setup_requires `` argument to ``setup() `` (use the :ref: `[build-system] table
100
+ <pyproject-guide-build-system-table>` in :file: `pyproject.toml ` instead), and
101
+ the ``easy_install `` command (cf. :ref: `pip vs easy_install `).
100
102
101
103
Do **not ** use :ref: `distutils `, which is deprecated, and has been removed from
102
104
the standard library in Python 3.12, although it still remains available from
@@ -144,7 +146,7 @@ Task runners
144
146
These tools allow you to define and invoke "tasks", such as running tests,
145
147
compiling documentation, regenerating some files, etc. Each task can be executed
146
148
in a dedicated virtual environment with the dependencies it requires. The most
147
- common tools for this are tox _ and nox _ .
149
+ common tools for this are :doc: ` tox < tox:index >` and :doc: ` nox < nox:index >` .
148
150
149
151
150
152
Integrated workflow tools
@@ -163,9 +165,6 @@ order:
163
165
- :ref: `Poetry `.
164
166
165
167
166
- .. _flit-core : https://pypi.org/project/flit-core/
167
168
.. _hatchling : https://pypi.org/project/hatchling/
168
- .. _nox : https://nox.thea.codes
169
169
.. _pdm-backend : https://backend.pdm-project.org
170
170
.. _poetry-core : https://pypi.org/project/poetry-core/
171
- .. _tox : https://tox.wiki
0 commit comments