@@ -126,9 +126,8 @@ is also an unambiguous ``pymanager`` command. Scripted installs that are
126126intending to use Python install manager should consider using ``pymanager ``, due
127127to the lower chance of encountering a conflict with existing installs. The only
128128difference 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
133132Each of these commands also has a windowed version that avoids creating a
134133console window. These are ``pyw ``, ``pythonw `` and ``pymanagerw ``. A ``python3 ``
@@ -187,12 +186,11 @@ that virtual environment. In this scenario, the ``python`` command was likely
187186already overridden and none of these checks occurred. However, this behaviour
188187ensures 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
198196Command 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
778786If your Python install manager does not seem to be working correctly, please
779787work 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 >`_,
781789including any relevant log files (written to your :file: `%TEMP% ` directory by
782790default).
783791
0 commit comments