Skip to content

Commit 01c6d09

Browse files
zoobamiss-islington
authored andcommitted
Update install manager docs (python/pymanager#227) (GH-144079)
(cherry picked from commit f52af86) Co-authored-by: Steve Dower <steve.dower@python.org>
1 parent aa223bd commit 01c6d09

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

Doc/using/windows.rst

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,8 @@ is also an unambiguous ``pymanager`` command. Scripted installs that are
126126
intending to use Python install manager should consider using ``pymanager``, due
127127
to the lower chance of encountering a conflict with existing installs. The only
128128
difference between the two commands is when running without any arguments:
129-
``py`` will install and launch your default interpreter, while ``pymanager``
130-
will display help (``pymanager exec ...`` provides equivalent behaviour to
131-
``py ...``).
129+
``py`` will launch your default interpreter, while ``pymanager`` will display
130+
help (``pymanager exec ...`` provides equivalent behaviour to ``py ...``).
132131

133132
Each of these commands also has a windowed version that avoids creating a
134133
console window. These are ``pyw``, ``pythonw`` and ``pymanagerw``. A ``python3``
@@ -187,12 +186,11 @@ that virtual environment. In this scenario, the ``python`` command was likely
187186
already overridden and none of these checks occurred. However, this behaviour
188187
ensures that the ``py`` command can be used interchangeably.
189188

190-
When you launch either ``python`` or ``py`` but do not have any runtimes
191-
installed, and the requested version is the default, it will be installed
192-
automatically and then launched. Otherwise, the requested version will be
193-
installed if automatic installation is configured (most likely by setting
194-
``PYTHON_MANAGER_AUTOMATIC_INSTALL`` to ``true``), or if the ``py exec`` or
195-
``pymanager exec`` forms of the command were used.
189+
When no runtimes are installed, any launch command will try to install the
190+
requested version and launch it. However, after any version is installed, only
191+
the ``py exec ...`` and ``pymanager exec ...`` commands will install if the
192+
requested version is absent. Other forms of commands will display an error and
193+
direct you to use ``py install`` first.
196194

197195

198196
Command help
@@ -301,6 +299,14 @@ To launch the runtime, directly execute the main executable (typically
301299
302300
$> py install ... [-t=|--target=<PATH>] <TAG>
303301
302+
The ``py exec`` command will install the requested runtime if it is not already
303+
present. This is controlled by the ``automatic_install`` configuration
304+
(:envvar:`PYTHON_MANAGER_AUTOMATIC_INSTALL`), and is enabled by default.
305+
If no runtimes are available at all, all launch commands will do an automatic
306+
install if the configuration setting allows. This is to ensure a good experience
307+
for new users, but should not generally be relied on rather than using the
308+
``py exec`` command or explicit install commands.
309+
304310

305311
.. _pymanager-offline:
306312

@@ -426,9 +432,11 @@ customization.
426432
By default, :file:`%TEMP%`.
427433

428434
* - ``automatic_install``
429-
- ``PYTHON_MANAGER_AUTOMATIC_INSTALL``
430-
- True to allow automatic installs when using ``py exec`` to launch.
431-
Other commands will not automatically install.
435+
- .. envvar:: PYTHON_MANAGER_AUTOMATIC_INSTALL
436+
- True to allow automatic installs when using ``py exec`` to launch (or
437+
``py`` when no runtimes are installed yet).
438+
Other commands will not automatically install, regardless of this
439+
setting.
432440
By default, true.
433441

434442
* - ``include_unmanaged``
@@ -777,7 +785,7 @@ Troubleshooting
777785

778786
If your Python install manager does not seem to be working correctly, please
779787
work through these tests and fixes to see if it helps. If not, please report an
780-
issue at `our bug tracker <https://github.com/python/cpython/issues>`_,
788+
issue at `our bug tracker <https://github.com/python/pymanager/issues>`_,
781789
including any relevant log files (written to your :file:`%TEMP%` directory by
782790
default).
783791

0 commit comments

Comments
 (0)