@@ -385,50 +385,77 @@ The following settings are those that are considered likely to be modified in
385385normal use. Later sections list those that are intended for administrative
386386customization.
387387
388- .. csv-table :: Standard configuration options 
389-    :header:  "Config Key", "Environment Variable", "Description"
390-    :widths:  2, 2, 4
391- 
392-    ``default_tag ``,``PYTHON_MANAGER_DEFAULT``,"The preferred default
393-    version to launch or install. By default, this is interpreted as the most
394-    recent non-prerelease version from the CPython team.
395-    "
396-    ``default_platform ``,``PYTHON_MANAGER_DEFAULT_PLATFORM``,"The preferred
397-    default platform to launch or install. This is treated as a suffix to the
398-    specified tag, such that ``py -V:3.14 `` would prefer an install for
399-    ``3.14-64 `` if it exists (and ``default_platform `` is ``-64 ``), but will use
400-    ``3.14 `` if no tagged install exists.
401-    "
402-    ``logs_dir ``,``PYTHON_MANAGER_LOGS``,"The location where log files are
403-    written. By default, :file: `%TEMP% `.
404-    "
405-    ``automatic_install ``,``PYTHON_MANAGER_AUTOMATIC_INSTALL``,"True to
406-    allow automatic installs when specifying a particular runtime to launch.
407-    By default, true.
408-    "
409-    ``include_unmanaged ``,``PYTHON_MANAGER_INCLUDE_UNMANAGED``,"True to
410-    allow listing and launching runtimes that were not installed by the Python
411-    install manager, or false to exclude them. By default, true.
412-    "
413-    ``shebang_can_run_anything ``,"``PYTHON_MANAGER_SHEBANG_CAN_RUN_ANYTHING ``
414-    ","True to allow shebangs in ``.py `` files to launch applications other than
415-    Python runtimes, or false to prevent it. By default, true.
416-    "
417-    ``log_level ``,"``PYMANAGER_VERBOSE ``, ``PYMANAGER_DEBUG ``","Set
418-    the default level of output (0-50) By default, 20. Lower values produce more
419-    output. The environment variables are boolean, and may produce additional
420-    output during startup that is later suppressed by other configuration.
421-    "
422-    ``confirm ``,``PYTHON_MANAGER_CONFIRM``,"True to confirm certain actions
423-    before taking them (such as uninstall), or false to skip the confirmation. By
424-    default, true.
425-    "
426-    ``install.source ``,``PYTHON_MANAGER_SOURCE_URL``,"Override the index
427-    feed to obtain new installs from.
428-    "
429-    ``list.format ``,``PYTHON_MANAGER_LIST_FORMAT``,"Specify the default
430-    format used by the ``py list `` command. By default, ``table ``.
431-    "
388+ ..  Sphinx bug with text writer; remove widths & caption temporarily
389+ ..  :widths: 2, 2, 4
390+ 
391+ rubric :: Standard configuration options 
392+ 
393+ .. list-table ::
394+    :header-rows:  1
395+ 
396+    * - Config Key
397+      - Environment Variable
398+      - Description
399+ 
400+    * - ``default_tag ``
401+      - ``PYTHON_MANAGER_DEFAULT ``
402+      - The preferred default version to launch or install.
403+        By default, this is interpreted as the most recent non-prerelease version
404+        from the CPython team.
405+ 
406+    * - ``default_platform ``
407+      - ``PYTHON_MANAGER_DEFAULT_PLATFORM ``
408+      - The preferred default platform to launch or install.
409+        This is treated as a suffix to the specified tag, such that ``py -V:3.14 ``
410+        would prefer an install for ``3.14-64 `` if it exists
411+        (and ``default_platform `` is ``-64 ``),
412+        but will use ``3.14 `` if no tagged install exists.
413+ 
414+    * - ``logs_dir ``
415+      - ``PYTHON_MANAGER_LOGS ``
416+      - The location where log files are written.
417+        By default, :file: `%TEMP% `.
418+ 
419+    * - ``automatic_install ``
420+      - ``PYTHON_MANAGER_AUTOMATIC_INSTALL ``
421+      - True to allow automatic installs when specifying a particular runtime
422+        to launch.
423+        By default, true.
424+ 
425+    * - ``include_unmanaged ``
426+      - ``PYTHON_MANAGER_INCLUDE_UNMANAGED ``
427+      - True to allow listing and launching runtimes that were not installed
428+        by the Python install manager, or false to exclude them.
429+        By default, true.
430+ 
431+    * - ``shebang_can_run_anything ``
432+      - ``PYTHON_MANAGER_SHEBANG_CAN_RUN_ANYTHING ``
433+      - True to allow shebangs in ``.py `` files to launch applications other than
434+        Python runtimes, or false to prevent it.
435+        By default, true.
436+ 
437+    * - ``log_level ``
438+      - ``PYMANAGER_VERBOSE ``, ``PYMANAGER_DEBUG ``
439+      - Set the default level of output (0-50).
440+        By default, 20.
441+        Lower values produce more output.
442+        The environment variables are boolean, and may produce additional
443+        output during startup that is later suppressed by other configuration.
444+ 
445+    * - ``confirm ``
446+      - ``PYTHON_MANAGER_CONFIRM ``
447+      - True to confirm certain actions before taking them (such as uninstall),
448+        or false to skip the confirmation.
449+        By default, true.
450+ 
451+    * - ``install.source ``
452+      - ``PYTHON_MANAGER_SOURCE_URL ``
453+      - Override the index feed to obtain new installs from.
454+ 
455+    * - ``list.format ``
456+      - ``PYTHON_MANAGER_LIST_FORMAT ``
457+      - Specify the default format used by the ``py list `` command.
458+        By default, ``table ``.
432459
433460Dotted names should be nested inside JSON objects, for example, ``list.format ``
434461would be specified as ``{"list": {"format": "table"}} ``.
@@ -492,7 +519,7 @@ which the path to the script and any additional arguments will be appended.
492519This functionality may be disabled by the ``shebang_can_run_anything ``
493520configuration option.
494521
495- ..  note:
522+ .. note :: 
496523
497524   The behaviour of shebangs in the Python install manager is subtly different
498525   from the previous ``py.exe `` launcher, and the old configuration options no
@@ -638,46 +665,64 @@ variable will be used instead.
638665Configuration settings that are paths are interpreted as relative to the
639666directory containing the configuration file that specified them.
640667
641- .. csv-table :: Administrative configuration options 
642-    :header:  "Config Key", "Description"
643-    :widths:  1, 4
644- 
645-    ``base_config ``,"The highest priority configuration file to read. Note that
646-    only the built-in configuration file and the registry can modify this
647-    setting.
648-    "
649-    ``user_config ``,"The second configuration file to read.
650-    "
651-    ``additional_config ``,"The third configuration file to read.
652-    "
653-    ``registry_override_key ``,"Registry location to check for overrides. Note
654-    that only the built-in configuration file can modify this setting.
655-    "
656-    ``bundled_dir ``,"Read-only directory containing locally cached files.
657-    "
658-    ``install.fallback_source ``,"Path or URL to an index to consult when the
659-    main index cannot be accessed.
660-    "
661-    ``install.enable_shortcut_kinds ``,"Comma-separated list of shortcut kinds
662-    to allow (e.g. ``""pep514,start"" ``). Enabled shortcuts may still be disabled
663-    by ``disable_shortcut_kinds ``.
664-    "
665-    ``install.disable_shortcut_kinds ``,"Comma-separated list of shortcut kinds
666-    to exclude (e.g. ``""pep514,start"" ``). Disabled shortcuts are not
667-    reactivated by ``enable_shortcut_kinds ``.
668-    "
669-    ``pep514_root ``,"Registry location to read and write PEP 514 entries into.
670-    By default, :file: `HKEY_CURRENT_USER\\ Software\\ Python `.
671-    "
672-    ``start_folder ``,"Start menu folder to write shortcuts into. By default,
673-    ``Python ``. This path is relative to the user's Programs folder.
674-    "
675-    ``virtual_env ``,"Path to the active virtual environment. By default, this
676-    is ``%VIRTUAL_ENV% ``, but may be set empty to disable venv detection.
677-    "
678-    ``shebang_can_run_anything_silently ``,"True to suppress visible warnings
679-    when a shebang launches an application other than a Python runtime.
680-    "
668+ ..  Sphinx bug with text writer; remove widths & caption temporarily
669+ ..  :widths: 1, 4
670+ 
671+ rubric :: Administrative configuration options 
672+ 
673+ .. list-table ::
674+    :header-rows:  1
675+ 
676+    * - Config Key
677+      - Description
678+ 
679+    * - ``base_config ``
680+      - The highest priority configuration file to read.
681+        Note that only the built-in configuration file and the registry can
682+        modify this setting.
683+ 
684+    * - ``user_config ``
685+      - The second configuration file to read.
686+ 
687+    * - ``additional_config ``
688+      - The third configuration file to read.
689+ 
690+    * - ``registry_override_key ``
691+      - Registry location to check for overrides.
692+        Note that only the built-in configuration file can modify this setting.
693+ 
694+    * - ``bundled_dir ``
695+      - Read-only directory containing locally cached files.
696+ 
697+    * - ``install.fallback_source ``
698+      - Path or URL to an index to consult when the main index cannot be accessed.
699+ 
700+    * - ``install.enable_shortcut_kinds ``
701+      - Comma-separated list of shortcut kinds to allow (e.g. ``"pep514,start" ``).
702+        Enabled shortcuts may still be disabled by ``disable_shortcut_kinds ``.
703+ 
704+    * - ``install.disable_shortcut_kinds ``
705+      - Comma-separated list of shortcut kinds to exclude
706+        (e.g. ``"pep514,start" ``).
707+        Disabled shortcuts are not reactivated by ``enable_shortcut_kinds ``.
708+ 
709+    * - ``pep514_root ``
710+      - Registry location to read and write PEP 514 entries into.
711+        By default, :file: `HKEY_CURRENT_USER\\ Software\\ Python `.
712+ 
713+    * - ``start_folder ``
714+      - Start menu folder to write shortcuts into.
715+        By default, ``Python ``.
716+        This path is relative to the user's Programs folder.
717+ 
718+    * - ``virtual_env ``
719+      - Path to the active virtual environment.
720+        By default, this is ``%VIRTUAL_ENV% ``, but may be set empty
721+        to disable venv detection.
722+ 
723+    * - ``shebang_can_run_anything_silently ``
724+      - True to suppress visible warnings when a shebang launches an application
725+        other than a Python runtime.
681726
682727.. _install-freethreaded-windows :
683728
@@ -716,70 +761,89 @@ issue at `our bug tracker <https://github.com/python/cpython/issues>`_,
716761including any relevant log files (written to your :file: `%TEMP% ` directory by
717762default).
718763
719- .. csv-table :: Troubleshooting 
720-    :header:  "Symptom", "Things to try"
721-    :widths:  1, 1
722- 
723-    "``python `` gives me a ""command not found"" error or opens the Store app
724-    when I type it in my terminal.", "Did you :ref: `install the Python install 
725-    manager <pymanager>`?
726-    "
727-    "", "Click Start, open ""Manage app execution aliases"", and check that the
728-    aliases for ""Python (default)"" are enabled. If they already are, try
729-    disabling and re-enabling to refresh the command. The ""Python (default
730-    windowed)"" and ""Python install manager"" commands may also need refreshing.
731-    "
732-    "", "Check that the ``py `` and ``pymanager `` commands work.
733-    "
734-    "``py `` gives me a ""command not found"" error when I type it in my
735-    terminal.","Did you :ref: `install the Python install manager  <pymanager >`?
736-    "
737-    "", "Click Start, open ""Manage app execution aliases"", and check that the
738-    aliases for ""Python install manager"" are enabled. If they already are, try
739-    disabling and re-enabling to refresh the command. The ""Python (default
740-    windowed)"" and ""Python install manager"" commands may also need refreshing.
741-    "
742-    "``py `` gives me a ""can't open file"" error when I type commands in my
743-    terminal.", "This usually means you have the legacy launcher installed and it
744-    has priority over the Python install manager. To remove, click Start, open
745-    ""Installed apps"", search for ""Python launcher"" and uninstall it.
746-    "
747-    "``python `` doesn't launch the same runtime as ``py ``", "Click Start, open
748-    ""Installed apps"", look for any existing Python runtimes, and either remove
749-    them or Modify and disable the :envvar: `PATH ` options.
750-    "
751-    "", "Click Start, open ""Manage app execution aliases"", and check that your
752-    ``python.exe `` alias is set to ""Python (default)""
753-    "
754-    "``python `` and ``py `` don't launch the runtime I expect", "Check your
755-    ``PYTHON_MANAGER_DEFAULT `` environment variable or ``default_tag ``
756-    configuration. The ``py list `` command will show your default based on these
757-    settings.
758-    "
759-    "", "Installs that are managed by the Python install manager will be chosen
760-    ahead of unmanaged installs. Use ``py install `` to install the runtime you
761-    expect, or configure your default tag.
762-    "
763-    "", "Prerelease and experimental installs that are not managed by the Python
764-    install manager may be chosen ahead of stable releases. Configure your
765-    default tag or uninstall the prerelease runtime and reinstall using ``py 
766-    install ``.
767-    "
768-    "``pythonw `` or ``pyw `` don't launch the same runtime as ``python `` or
769-    ``py ``","Click Start, open ""Manage app execution aliases"", and check that
770-    your ``pythonw.exe `` and ``pyw.exe `` aliases are consistent with your
771-    others.
772-    "
773-    "``pip `` gives me a ""command not found"" error when I type it in my
774-    terminal.","Have you activated a virtual environment? Run the
775-    ``.venv\Scripts\activate `` script in your terminal to activate.
776-    "
777-    "","The package may be available but missing the generated executable.
778-    We recommend using the ``python -m pip `` command instead, or alternatively
779-    the ``python -m pip install --force pip `` command will recreate the
780-    executables and show you the path to add to :envvar: `PATH `. These scripts are
781-    separated for each runtime, and so you may need to add multiple paths.
782-    "
764+ ..  Sphinx bug with text writer; remove widths & caption temporarily
765+ ..  :widths: 1, 1
766+ 
767+ rubric :: Troubleshooting 
768+ 
769+ .. list-table ::
770+    :header-rows:  1
771+ 
772+    * - Symptom
773+      - Things to try
774+ 
775+    * - ``python `` gives me a "command not found" error or opens the Store app
776+        when I type it in my terminal.
777+      - Did you :ref: `install the Python install manager  <pymanager >`?
778+ 
779+    * -
780+      - Click Start, open "Manage app execution aliases", and check that the
781+        aliases for "Python (default)" are enabled.
782+        If they already are, try disabling and re-enabling to refresh the command.
783+        The "Python (default windowed)" and "Python install manager" commands
784+        may also need refreshing.
785+ 
786+    * -
787+      - Check that the ``py `` and ``pymanager `` commands work.
788+ 
789+    * - ``py `` gives me a "command not found" error when I type it in my terminal.
790+      - Did you :ref: `install the Python install manager  <pymanager >`?
791+ 
792+    * -
793+      - Click Start, open "Manage app execution aliases", and check that the
794+        aliases for "Python (default)" are enabled.
795+        If they already are, try disabling and re-enabling to refresh the command.
796+        The "Python (default windowed)" and "Python install manager" commands
797+        may also need refreshing.
798+ 
799+    * - ``py `` gives me a "can't open file" error when I type commands in my
800+        terminal.
801+      - This usually means you have the legacy launcher installed and
802+        it has priority over the Python install manager.
803+        To remove, click Start, open "Installed apps",
804+        search for "Python launcher" and uninstall it.
805+ 
806+    * - ``python `` doesn't launch the same runtime as ``py ``
807+      - Click Start, open "Installed apps", look for any existing Python runtimes,
808+        and either remove them or Modify and disable the :envvar: `PATH ` options.
809+ 
810+    * -
811+      - Click Start, open "Manage app execution aliases", and check that your
812+        ``python.exe `` alias is set to "Python (default)"
813+ 
814+    * - ``python `` and ``py `` don't launch the runtime I expect
815+      - Check your ``PYTHON_MANAGER_DEFAULT `` environment variable
816+        or ``default_tag `` configuration.
817+        The ``py list `` command will show your default based on these settings.
818+ 
819+    * -
820+      - Installs that are managed by the Python install manager will be chosen
821+        ahead of unmanaged installs.
822+        Use ``py install `` to install the runtime you expect,
823+        or configure your default tag.
824+ 
825+    * -
826+      - Prerelease and experimental installs that are not managed by the Python
827+        install manager may be chosen ahead of stable releases.
828+        Configure your default tag or uninstall the prerelease runtime
829+        and reinstall using ``py install ``.
830+ 
831+    * - ``pythonw `` or ``pyw `` don't launch the same runtime as ``python `` or ``py ``
832+      - Click Start, open "Manage app execution aliases", and check that your
833+        ``pythonw.exe `` and ``pyw.exe `` aliases are consistent with your others.
834+ 
835+    * - ``pip `` gives me a "command not found" error when I type it in my terminal.
836+      - Have you activated a virtual environment?
837+        Run the ``.venv\Scripts\activate `` script in your terminal to activate.
838+ 
839+    * -
840+      - The package may be available but missing the generated executable.
841+        We recommend using the ``python -m pip `` command instead,
842+        or alternatively the ``python -m pip install --force pip `` command
843+        will recreate the executables and show you the path to
844+        add to :envvar: `PATH `.
845+        These scripts are separated for each runtime, and so you may need to
846+        add multiple paths.
783847
784848
785849.. _windows-embeddable :
0 commit comments