@@ -23,13 +23,13 @@ other tools you are using is generally a worthwhile benefit. Before committing
2323to the process described here, we recommend investigating your existing tools to
2424see if they can provide Python directly.
2525
26- To obtain Python from the CPython team, use the Python Install Manager . This
26+ To obtain Python from the CPython team, use the Python install manager . This
2727is a standalone tool that makes Python available as global commands on your
2828Windows machine, integrates with the system, and supports updates over time. You
29- can download the Python Install Manager from `python.org/downloads `_ or through
29+ can download the Python install manager from `python.org/downloads `_ or through
3030the `Microsoft Store app `_.
3131
32- Once you have installed the Python Install Manager , the global ``python ``
32+ Once you have installed the Python install manager , the global ``python ``
3333command can be used from any terminal to launch your current latest version of
3434Python. This version may change over time as you add or remove different
3535versions, and the ``py list `` command will show which is current.
@@ -40,7 +40,7 @@ This provides isolation between projects, consistency over time, and ensures
4040that additional commands added by packages are also available in your session.
4141Create a virtual environment using ``python -m venv <env path> ``.
4242
43- If the ``python `` or ``py `` commands do not seem to be working, please see the
43+ If the ``python `` or ``py `` commands do not seem to be working, see the
4444:ref: `Troubleshooting <pymanager-troubleshoot >` section below. There are
4545sometimes additional manual steps required to configure your PC.
4646
@@ -74,7 +74,7 @@ To install through the Store, simply click "Install". After it has completed,
7474open a terminal and type ``python `` to get started.
7575
7676To install the file downloaded from python.org, either double-click and select
77- "Install", or run ``Add-AppxPackage <path to MSIX> `` in Windows Powershell .
77+ "Install", or run ``Add-AppxPackage <path to MSIX> `` in Windows PowerShell .
7878
7979After installation, the ``python ``, ``py ``, and ``pymanager `` commands should be
8080available. If you have existing installations of Python, or you have modified
@@ -85,7 +85,7 @@ non-working commands.
8585When you first install a runtime, you will likely be prompted to add a directory
8686to your :envvar: `PATH `. This is optional, if you prefer to use the ``py ``
8787command, but is offered for those who prefer the full range of aliases (such
88- as `` python3.14.exe `` ) to be available. The directory will be
88+ as | python_x_dot_y_exe_literal | ) to be available. The directory will be
8989:file: `%LocalAppData%\\ Python\\ bin ` by default, but may be customized by an
9090administrator. Click Start and search for "Edit environment variables for your
9191account" for the system settings page to add the path.
@@ -99,7 +99,7 @@ manager does not uninstall any Python runtimes.
9999
100100If you are not able to install an MSIX in your context, for example, you are
101101using automated deployment software that does not support it, or are targeting
102- Windows Server 2019, please see :ref: `pymanager-advancedinstall ` below for more
102+ Windows Server 2019, see :ref: `pymanager-advancedinstall ` below for more
103103information.
104104
105105
@@ -156,9 +156,9 @@ version, potentially with the platform. For compatibility, the ``V:`` may be
156156omitted in cases where the tag refers to an official release and starts with
157157``3 ``.
158158
159- .. code ::
159+ .. parsed-literal ::
160160
161- $> py -V:3.14 ...
161+ $> py -V:| version | ...
162162 $> py -V:3-arm64 ...
163163
164164 Runtimes from other distributors may require the *company * to be included as
@@ -230,7 +230,7 @@ added in the form of one or more tags (with or without company specifier), and
230230each may include a ``< ``, ``<= ``, ``>= `` or ``> `` prefix to restrict to a range.
231231
232232A range of formats are supported, and can be passed as the ``--format=<FMT> `` or
233- ``-f <FMT> `` option. Formats include ``table `` (a user friendly table view),
233+ ``-f <FMT> `` option. Formats include ``table `` (a user- friendly table view),
234234``csv `` (comma-separated table), ``json `` (a single JSON blob), ``jsonl `` (one
235235JSON blob per result), ``exe `` (just the executable path), ``prefix `` (just the
236236prefix path).
@@ -250,13 +250,13 @@ source. Passing either of these options will search the online index for
250250runtimes that can be installed. The result shown by ``py list --online --one
251251<TAG> `` will match the runtime that would be installed by ``py install <TAG> ``.
252252
253- .. code ::
253+ .. parsed-literal ::
254254
255- $> py list --online 3.14
255+ $> py list --online | version |
256256
257257 For compatibility with the old launcher, the ``--list ``, ``--list-paths ``,
258- ``-0 `` and ``-0p `` commands (e.g. ``py -0p ``) are retained. They do not allow
259- additional options, and will produce legacy formatted output.
258+ ``-0 `` and ``-0p `` commands (for example, ``py -0p ``) are retained. They do not allow
259+ additional options, and will produce legacy- formatted output.
260260
261261
262262Installing runtimes
@@ -287,9 +287,11 @@ To see the available runtime variants, run::
287287 py list --online
288288
289289To install a specific variant, include it in the tag passed to
290- ``py install ``::
290+ ``py install ``:
291+
292+ .. parsed-literal ::
291293
292- py install PythonTest\3.14
294+ py install PythonTest\\\ | version |
293295
294296 The ``--source=<URL> `` option allows overriding the online index that is used to
295297obtain runtimes. This may be used with an offline index, as shown in
@@ -310,7 +312,7 @@ installs.
310312
311313Passing ``--refresh `` will update all registrations for installed runtimes. This
312314will recreate Start menu shortcuts, registry keys, and global aliases (such as
313- `` python3.14.exe `` or for any installed scripts). These are automatically
315+ | python_x_dot_y_exe_literal | or for any installed scripts). These are automatically
314316refreshed on installation of any runtime, but may need to be manually refreshed
315317after installing packages.
316318
@@ -449,10 +451,10 @@ customization.
449451 * - ``default_platform ``
450452 - ``PYTHON_MANAGER_DEFAULT_PLATFORM ``
451453 - The preferred default platform to launch or install.
452- This is treated as a suffix to the specified tag, such that `` py -V:3.14 ``
453- would prefer an install for `` 3.14-64 `` if it exists
454+ This is treated as a suffix to the specified tag, such that | py_v_x_dot_y_literal |
455+ would prefer an install for | x_dot_y_64_literal | if it exists
454456 (and ``default_platform `` is ``-64 ``),
455- but will use `` 3.14 `` if no tagged install exists.
457+ but will use | x_dot_y_literal | if no tagged install exists.
456458
457459 * - ``logs_dir ``
458460 - ``PYTHON_MANAGER_LOGS ``
@@ -524,7 +526,7 @@ customization.
524526
525527 * - ``global_dir ``
526528 - (none)
527- - Specify the directory where global commands (such as `` python3.14.exe ``
529+ - Specify the directory where global commands (such as | python_x_dot_y_exe_literal |
528530 and ``pip.exe ``) are stored.
529531 This directory should be added to your :envvar: `PATH ` to make the
530532 commands available from your terminal.
@@ -545,7 +547,7 @@ Shebang lines
545547-------------
546548
547549If the first line of a script file starts with ``#! ``, it is known as a
548- "shebang" line. Linux and other Unix like operating systems have native
550+ "shebang" line. Linux and other Unix- like operating systems have native
549551support for such lines and they are commonly used on such systems to indicate
550552how a script should be executed. The ``python `` and ``py `` commands allow the
551553same facilities to be used with Python scripts on Windows.
@@ -589,7 +591,7 @@ prefers launching known Python commands. A warning may be displayed when
589591searching for arbitrary executables, and this search may be disabled by the
590592``shebang_can_run_anything `` configuration option.
591593
592- Shebang lines that do not match any of patterns are treated as *Windows *
594+ Shebang lines that do not match any of the patterns are treated as *Windows *
593595executable paths that are absolute or relative to the directory containing the
594596script file. This is a convenience for Windows-only scripts, such as those
595597generated by an installer, since the behavior is not compatible with Unix-style
@@ -722,7 +724,7 @@ deployment tool.
722724
723725Regardless of the install method, users will still need to install their own
724726copies of Python itself, as there is no way to trigger those installs without
725- being a logged in user. When using the MSIX, the latest version of Python will
727+ being a logged- in user. When using the MSIX, the latest version of Python will
726728be available for all users to install without network access.
727729
728730Note that the MSIX downloadable from the Store and from the Python website are
@@ -798,12 +800,13 @@ directory containing the configuration file that specified them.
798800 - Path or URL to an index to consult when the main index cannot be accessed.
799801
800802 * - ``install.enable_shortcut_kinds ``
801- - Comma-separated list of shortcut kinds to allow (e.g. ``"pep514,start" ``).
803+ - Comma-separated list of shortcut kinds to allow
804+ (for example, ``"pep514,start" ``).
802805 Enabled shortcuts may still be disabled by ``disable_shortcut_kinds ``.
803806
804807 * - ``install.disable_shortcut_kinds ``
805808 - Comma-separated list of shortcut kinds to exclude
806- (e.g. ``"pep514,start" ``).
809+ (for example, ``"pep514,start" ``).
807810 Disabled shortcuts are not reactivated by ``enable_shortcut_kinds ``.
808811
809812 * - ``install.hard_link_entrypoints ``
@@ -850,16 +853,16 @@ Installing free-threaded binaries
850853Pre-built distributions of the free-threaded build are available
851854by installing tags with the ``t `` suffix.
852855
853- .. code ::
856+ .. parsed-literal ::
854857
855- $> py install 3.14t
856- $> py install 3.14t -arm64
857- $> py install 3.14t -32
858+ $> py install | version | \ t
859+ $> py install | version | \ t -arm64
860+ $> py install | version | \ t -32
858861
859862 This will install and register as normal. If you have no other runtimes
860863installed, then ``python `` will launch this one. Otherwise, you will need to use
861- `` py -V:3.14t ... `` or, if you have added the global aliases directory to your
862- :envvar: `PATH ` environment variable, the `` python3.14t.exe `` commands.
864+ | py_v_x_dot_y_t_literal | or, if you have added the global aliases directory to your
865+ :envvar: `PATH ` environment variable, the | python_x_dot_y_t_exe_literal | commands.
863866
864867
865868.. _pymanager-index-signatures :
@@ -887,7 +890,7 @@ As well as requiring a valid signature, the ``required_root_subject`` and
887890signatures based on the certificate Subject fields. Any attribute specified in
888891the configuration must match the attribute in the certificate (additional
889892attributes in the certificate are ignored). Typical attributes are ``CN= `` for
890- the common name, ``O= `` for the organizational unit , and ``C= `` for the
893+ the common name, ``O= `` for the organization , and ``C= `` for the
891894publisher's country.
892895
893896Finally, the ``required_publisher_eku `` setting allows requiring that a specific
@@ -992,8 +995,8 @@ one set of credentials will be used for both types of proxy.
992995Troubleshooting
993996---------------
994997
995- If your Python install manager does not seem to be working correctly, please
996- work through these tests and fixes to see if it helps. If not, please report an
998+ If your Python install manager does not seem to be working correctly,
999+ work through these tests and fixes to see if it helps. If not, report an
9971000issue at `our bug tracker <https://github.com/python/pymanager/issues >`_,
9981001including any relevant log files (written to your :file: `%TEMP% ` directory by
9991002default).
@@ -1144,16 +1147,16 @@ directly accessed by end-users.
11441147To install an embedded distribution, we recommend using ``py install `` with the
11451148``--target `` option:
11461149
1147- .. code ::
1150+ .. parsed-literal ::
11481151
1149- $> py install 3.14 -embed --target=<directory>
1152+ $> py install | version | -embed --target=<directory>
11501153
11511154 When extracted, the embedded distribution is (almost) fully isolated from the
11521155user's system, including environment variables, system registry settings, and
11531156installed packages. The standard library is included as pre-compiled and
1154- optimized ``.pyc `` files in a ZIP, and ``python3.dll ``, `` python313.dll `` ,
1155- ``python.exe `` and ``pythonw.exe `` are all provided. Tcl/tk (including all
1156- dependents, such as Idle ), pip and the Python documentation are not included.
1157+ optimized ``.pyc `` files in a ZIP, and ``python3.dll ``, | python_xy_dll_literal | ,
1158+ ``python.exe `` and ``pythonw.exe `` are all provided. Tcl/Tk (including all
1159+ dependents, such as IDLE ), pip and the Python documentation are not included.
11571160
11581161A default ``._pth `` file is included, which further restricts the default search
11591162paths (as described below in :ref: `windows_finding_modules `). This file is
@@ -1208,7 +1211,7 @@ installation is sufficient to provide a loadable Python interpreter.
12081211
12091212As with the application use, packages can be installed to any location as there
12101213is an opportunity to specify search paths before initializing the interpreter.
1211- Otherwise, there is no fundamental differences between using the embedded
1214+ Otherwise, there are no fundamental differences between using the embedded
12121215distribution and a regular installation.
12131216
12141217
@@ -1259,7 +1262,7 @@ delete the package directory manually and install it again. Many CI systems
12591262will do this automatically if they do not preserve files between builds.
12601263
12611264Alongside the ``tools `` directory is a ``build\native `` directory. This
1262- contains a MSBuild properties file ``python.props `` that can be used in a
1265+ contains an MSBuild properties file ``python.props `` that can be used in a
12631266C++ project to reference the Python install. Including the settings will
12641267automatically use the headers and import libraries in your build.
12651268
@@ -1268,7 +1271,7 @@ The package information pages on nuget.org are
12681271for the 64-bit version, `www.nuget.org/packages/pythonx86
12691272<https://www.nuget.org/packages/pythonx86> `_ for the 32-bit version, and
12701273`www.nuget.org/packages/pythonarm64
1271- <https://www.nuget.org/packages/pythonarm64> `_ for the ARM64 version
1274+ <https://www.nuget.org/packages/pythonarm64> `_ for the ARM64 version.
12721275
12731276Free-threaded packages
12741277----------------------
@@ -1281,8 +1284,8 @@ for the 64-bit version, `pythonx86-freethreaded
12811284<https://www.nuget.org/packages/pythonx86-freethreaded> `_ for the 32-bit
12821285version, and `pythonarm64-freethreaded
12831286<https://www.nuget.org/packages/pythonarm64-freethreaded> `_ for the ARM64
1284- version. These packages contain both the `` python3.13t.exe `` and
1285- ``python.exe `` entry points, both of which run free threaded.
1287+ version. These packages contain both the | python_x_dot_y_t_exe_literal | and
1288+ ``python.exe `` entry points, both of which run free- threaded.
12861289
12871290
12881291Alternative bundles
@@ -1319,8 +1322,8 @@ Supported Windows versions
13191322As specified in :pep: `11 `, a Python release only supports a Windows platform
13201323while Microsoft considers the platform under extended support. This means that
13211324Python |version | supports Windows 10 and newer. If you require Windows 7
1322- support, please install Python 3.8. If you require Windows 8.1 support,
1323- please install Python 3.12.
1325+ support, install Python 3.8. If you require Windows 8.1 support,
1326+ install Python 3.12.
13241327
13251328
13261329.. _max-path :
@@ -1404,7 +1407,7 @@ Windows:
14041407* If the environment variable :envvar: `PYTHONPATH ` exists, as described in
14051408 :ref: `using-on-envvars `, its entries are added next. Note that on Windows,
14061409 paths in this variable must be separated by semicolons, to distinguish them
1407- from the colon used in drive identifiers (``C:\ `` etc. ).
1410+ from the colon used in drive identifiers (such as ``C:\ ``).
14081411
14091412* Additional "application paths" can be added in the registry as subkeys of
14101413 :samp: `\\ SOFTWARE\\ Python\\ PythonCore\\ { version } \\ PythonPath ` under both the
@@ -1417,13 +1420,13 @@ Windows:
14171420 "Python Home". Otherwise, the path of the main Python executable is used to
14181421 locate a "landmark file" (either ``Lib\os.py `` or ``pythonXY.zip ``) to deduce
14191422 the "Python Home". If a Python home is found, the relevant sub-directories
1420- added to :data: `sys.path ` (``Lib ``, ``plat-win ``, etc ) are based on that
1423+ added to :data: `sys.path ` (such as ``Lib `` and ``plat-win ``) are based on that
14211424 folder. Otherwise, the core Python path is constructed from the PythonPath
14221425 stored in the registry.
14231426
14241427* If the Python Home cannot be located, no :envvar: `PYTHONPATH ` is specified in
14251428 the environment, and no registry entries can be found, a default path with
1426- relative entries is used (e.g. ``.\Lib;.\plat-win ``, etc ).
1429+ relative entries is used (for example, ``.\Lib;.\plat-win ``).
14271430
14281431If a ``pyvenv.cfg `` file is found alongside the main executable or in the
14291432directory one level above the executable, the following variations apply:
@@ -1439,11 +1442,11 @@ The end result of all this is:
14391442 directory), the core path is deduced, and the core paths in the registry are
14401443 ignored. Other "application paths" in the registry are always read.
14411444
1442- * When Python is hosted in another .exe (different directory, embedded via COM,
1443- etc ), the "Python Home" will not be deduced, so the core path from the
1445+ * When Python is hosted in another .exe (for example, in a different directory or
1446+ embedded via COM ), the "Python Home" will not be deduced, so the core path from the
14441447 registry is used. Other "application paths" in the registry are always read.
14451448
1446- * If Python can't find its home and there are no registry value (frozen .exe,
1449+ * If Python can't find its home and there are no registry values (frozen .exe,
14471450 some very strange installation setup) you get a path with some default, but
14481451 relative, paths.
14491452
@@ -1455,7 +1458,7 @@ following advice will prevent conflicts with other installations:
14551458 environment variables, and also ignore :mod: `site ` unless ``import site `` is
14561459 listed.
14571460
1458- * If you are loading :file: `python3.dll ` or :file: ` python37.dll ` in your own
1461+ * If you are loading :file: `python3.dll ` or | python_xy_dll_literal | in your own
14591462 executable, explicitly set :c:member: `PyConfig.module_search_paths ` before
14601463 :c:func: `Py_InitializeFromConfig `.
14611464
@@ -1476,7 +1479,7 @@ non-standard paths in the registry and user site-packages.
14761479
14771480.. versionchanged :: 3.6
14781481
1479- Add ``._pth `` file support and removes ``applocal `` option from
1482+ Add ``._pth `` file support and remove ``applocal `` option from
14801483 ``pyvenv.cfg ``.
14811484
14821485.. versionchanged :: 3.6
0 commit comments