@@ -378,7 +378,9 @@ may be changed from ``.``, and the package will be installed into a
378378subdirectory. By default, the subdirectory is named the same as the package,
379379and without the ``-ExcludeVersion `` option this name will include the specific
380380version installed. Inside the subdirectory is a ``tools `` directory that
381- contains the Python installation::
381+ contains the Python installation:
382+
383+ ..code-block ::doscon
382384
383385 # Without -ExcludeVersion
384386 > .\python.3.5.2\tools\python.exe -V
@@ -425,7 +427,7 @@ dependants, such as Idle), pip and the Python documentation are not included.
425427..note ::
426428
427429 The embedded distribution does not include the `Microsoft C Runtime
428- <https://www .microsoft.com/en-us/download/details.aspx?id=48145 > `_ and it is
430+ <https://docs .microsoft.com/en-US/cpp/windows/latest-supported-vc-redist#visual-studio-2015-2017-2019-and-2022 > `_ and it is
429431 the responsibility of the application installer to provide this. The
430432 runtime may have already been installed on a user's system previously or
431433 automatically via Windows Update, and can be detected by finding
@@ -559,27 +561,22 @@ System variables, you need non-restricted access to your machine
559561 Windows will concatenate User variables *after * System variables, which may
560562 cause unexpected results when modifying:envvar: `PATH `.
561563
562- The:envvar: `PYTHONPATH ` variable is used by all versions of Python 2 and
563- Python 3, so you should not permanently configurethis variable unlessit
564- onlyincludes code that is compatible with all of your installed Python
564+ The:envvar: `PYTHONPATH ` variable is used by all versions of Python,
565+ so you should not permanently configureit unlessthe listed paths
566+ onlyinclude code that is compatible with all of your installed Python
565567 versions.
566568
567569..seealso ::
568570
569- https://www.microsoft.com/en-us/wdsi/help/folder-variables
570- Environment variables in Windows NT
571-
572- https://technet.microsoft.com/en-us/library/cc754250.aspx
573- The SET command, for temporarily modifying environment variables
571+ https://docs.microsoft.com/en-us/windows/win32/procthread/environment-variables
572+ Overview of environment variables on Windows
574573
575- https://technet .microsoft.com/en-us/library/cc755104.aspx
576- TheSETX command, forpermanently modifying environment variables
574+ https://docs .microsoft.com/en-us/windows-server/administration/windows-commands/set_1
575+ The`` set `` command, fortemporarily modifying environment variables
577576
578- https://support .microsoft.com/en-us/help/310519/how-to-manage-environment-variables-in- windows-xp
579- How To Manage Environment Variables in Windows XP
577+ https://docs .microsoft.com/en-us/windows-server/administration/ windows-commands/setx
578+ The `` setx `` command, for permanently modifying environment variables
580579
581- https://www.chem.gla.ac.uk/~louis/software/faq/q1.html
582- Setting Environment variables, Louis J. Farrugia
583580
584581.. _windows-path-mod :
585582
@@ -677,48 +674,40 @@ From the command-line
677674System-wide installations of Python 3.3 and later will put the launcher on your
678675:envvar: `PATH `. The launcher is compatible with all available versions of
679676Python, so it does not matter which version is installed. To check that the
680- launcher is available, execute the following command in Command Prompt:
681-
682- ::
677+ launcher is available, execute the following command in Command Prompt::
683678
684679 py
685680
686681You should find that the latest version of Python you have installed is
687682started - it can be exited as normal, and any additional command-line
688683arguments specified will be sent directly to Python.
689684
690- If you have multiple versions of Python installed (e.g., 2.7 and |version |) you
691- will have noticed that Python |version | was started - to launch Python 2.7, try
692- the command:
693-
694- ::
695-
696- py -2.7
685+ If you have multiple versions of Python installed (e.g., 3.7 and |version |) you
686+ will have noticed that Python |version | was started - to launch Python 3.7, try
687+ the command::
697688
698- If you want the latest version of Python 2.x you have installed, try the
699- command:
689+ py -3.7
700690
701- ::
691+ If you want the latest version of Python 2 you have installed, try the
692+ command::
702693
703694 py -2
704695
705- You should find the latest version of Python2 .x starts.
696+ You should find the latest version of Python3 .x starts.
706697
707- If you see the following error, you do not have the launcher installed:
708-
709- ::
698+ If you see the following error, you do not have the launcher installed::
710699
711700 'py' is not recognized as an internal or external command,
712701 operable program or batch file.
713702
714703Per-user installations of Python do not add the launcher to:envvar: `PATH `
715704unless the option was selected on installation.
716705
717- ::
706+ The command ::
718707
719708 py --list
720709
721- You should see the currently installedversions of Python.
710+ displays the currently installedversion(s) of Python.
722711
723712Virtual environments
724713^^^^^^^^^^^^^^^^^^^^
@@ -744,9 +733,7 @@ following contents
744733import sys
745734 sys.stdout.write(" hello from Python%s \n " % (sys.version,))
746735
747- From the directory in which hello.py lives, execute the command:
748-
749- ::
736+ From the directory in which hello.py lives, execute the command::
750737
751738 py hello.py
752739
@@ -759,9 +746,9 @@ is printed. Now try changing the first line to be:
759746
760747 Re-executing the command should now print the latest Python 3.x information.
761748As with the above command-line examples, you can specify a more explicit
762- version qualifier. Assuming you have Python2.6 installed, try changing the
763- first line to ``#!python2.6 `` and you should find the2.6 version
764- information printed.
749+ version qualifier. Assuming you have Python3.7 installed, try changing
750+ the first line to ``#!python3.7 `` and you should find the| version |
751+ version information printed.
765752
766753Note that unlike interactive use, a bare "python" will use the latest
767754version of Python 2.x that you have installed. This is for backward
@@ -814,8 +801,8 @@ shebang lines starting with ``/usr``.
814801Any of the above virtual commands can be suffixed with an explicit version
815802(either just the major version, or the major and minor version).
816803Furthermore the 32-bit version can be requested by adding "-32" after the
817- minor version. I.e. ``/usr/bin/python2 .7-32 `` will request usage of the
818- 32-bit python2 .7.
804+ minor version. I.e. ``/usr/bin/python3 .7-32 `` will request usage of the
805+ 32-bit python3 .7.
819806
820807..versionadded ::3.7
821808
@@ -908,19 +895,19 @@ Examples:
908895 ``python2 `` will use the latest Python 2.x version installed and
909896 the command ``python3 `` will use the latest Python 3.x installed.
910897
911- * Thecommands ``python3.1 `` and `` python2 .7 `` will not consult any
898+ * Thecommand ``python3.7 `` will not consult any
912899 options at all as the versions are fully specified.
913900
914901* If ``PY_PYTHON=3 ``, the commands ``python `` and ``python3 `` will both use
915902 the latest installed Python 3 version.
916903
917- * If ``PY_PYTHON=3.1 -32 ``, the command ``python `` will use the 32-bit
918- implementation of 3.1 whereas the command ``python3 `` will use the latest
904+ * If ``PY_PYTHON=3.7 -32 ``, the command ``python `` will use the 32-bit
905+ implementation of 3.7 whereas the command ``python3 `` will use the latest
919906 installed Python (PY_PYTHON was not considered at all as a major
920907 version was specified.)
921908
922- * If ``PY_PYTHON=3 `` and ``PY_PYTHON3=3.1 ``, the commands
923- ``python `` and ``python3 `` will both use specifically 3.1
909+ * If ``PY_PYTHON=3 `` and ``PY_PYTHON3=3.7 ``, the commands
910+ ``python `` and ``python3 `` will both use specifically 3.7
924911
925912In addition to environment variables, the same settings can be configured
926913in the .INI file used by the launcher. The section in the INI file is
@@ -931,21 +918,21 @@ an environment variable will override things specified in the INI file.
931918
932919For example:
933920
934- * Setting ``PY_PYTHON=3.1 `` is equivalent to the INI file containing:
921+ * Setting ``PY_PYTHON=3.7 `` is equivalent to the INI file containing:
935922
936923..code-block ::ini
937924
938925 [defaults]
939- python =3.1
926+ python =3.7
940927
941- * Setting ``PY_PYTHON=3 `` and ``PY_PYTHON3=3.1 `` is equivalent to the INI file
928+ * Setting ``PY_PYTHON=3 `` and ``PY_PYTHON3=3.7 `` is equivalent to the INI file
942929 containing:
943930
944931..code-block ::ini
945932
946933 [defaults]
947934python =3
948- python3 =3.1
935+ python3 =3.7
949936
950937 Diagnostics
951938-----------
@@ -1132,13 +1119,14 @@ is a collection of modules for advanced Windows-specific support. This includes
11321119utilities for:
11331120
11341121* `Component Object Model
1135- <https://docs.microsoft.com/en-us/windows/desktop /com/component-object-model--com--portal> `_
1122+ <https://docs.microsoft.com/en-us/windows/win32 /com/component-object-model--com--portal> `_
11361123 (COM)
11371124* Win32 API calls
11381125* Registry
11391126* Event log
1140- * `Microsoft Foundation Classes <https://msdn.microsoft.com/en-us/library/fe1cf721%28VS.80%29.aspx >`_ (MFC)
1141- user interfaces
1127+ * `Microsoft Foundation Classes
1128+ <https://docs.microsoft.com/en-us/cpp/mfc/mfc-desktop-applications> `_
1129+ (MFC) user interfaces
11421130
11431131`PythonWin <https://web.archive.org/web/20060524042422/
11441132https://www.python.org/windows/pythonwin/> `_ is a sample MFC application
@@ -1149,7 +1137,7 @@ shipped with PyWin32. It is an embeddable IDE with a built-in debugger.
11491137 `Win32 How Do I...? <http://timgolden.me.uk/python/win32_how_do_i.html >`_
11501138 by Tim Golden
11511139
1152- `Python and COM <http ://www.boddie.org.uk/python/COM.html >`_
1140+ `Python and COM <https ://www.boddie.org.uk/python/COM.html >`_
11531141 by David and Paul Boddie
11541142
11551143
@@ -1163,18 +1151,6 @@ you can distribute your application without requiring your users to install
11631151Python.
11641152
11651153
1166- WConio
1167- ------
1168-
1169- Since Python's advanced terminal handling layer,:mod: `curses `, is restricted to
1170- Unix-like systems, there is a library exclusive to Windows as well: Windows
1171- Console I/O for Python.
1172-
1173- `WConio <http://newcenturycomputers.net/projects/wconio.html >`_ is a wrapper for
1174- Turbo-C's:file: `CONIO.H `, used to create text user interfaces.
1175-
1176-
1177-
11781154Compiling Python on Windows
11791155===========================
11801156
@@ -1184,21 +1160,13 @@ latest release's source or just grab a fresh `checkout
11841160<https://devguide.python.org/setup/#getting-the-source-code> `_.
11851161
11861162The source tree contains a build solution and project files for Microsoft
1187- Visual Studio 2015 , which is the compiler used to build the official Python
1163+ Visual Studio, which is the compiler used to build the official Python
11881164releases. These files are in the:file: `PCbuild ` directory.
11891165
11901166Check:file: `PCbuild/readme.txt ` for general information on the build process.
11911167
1192-
11931168For extension modules, consult:ref: `building-on-windows `.
11941169
1195- ..seealso ::
1196-
1197- `Python + Windows + distutils + SWIG + gcc MinGW <http://sebsauvage.net/python/mingw.html >`_
1198- or "Creating Python extensions in C/C++ with SWIG and compiling them with
1199- MinGW gcc under Windows" or "Installing Python extension with distutils
1200- and without Microsoft Visual C++" by Sébastien Sauvage, 2003
1201-
12021170
12031171Other Platforms
12041172===============
@@ -1207,12 +1175,12 @@ With ongoing development of Python, some platforms that used to be supported
12071175earlier are no longer supported (due to the lack of users or developers).
12081176Check:pep: `11 ` for details on all unsupported platforms.
12091177
1210- * `Windows CE <http://pythonce.sourceforge.net/ >`_ is still supported.
1211- * The ` Cygwin <https://cygwin .com/ >`_ installer offers to install the Python
1212- interpreter as well (cf. ` Cygwin package source
1213- <ftp ://ftp.uni-erlangen.de/pub/pc/gnuwin32/cygwin/mirrors/cygnus/
1214- release/python> `_, ` Maintainer releases
1215- <http://www.tishler.net/jason/software/python/> `_)
1178+ * `Windows CE <http://pythonce.sourceforge.net/ >`_ is
1179+ ` no longer supported <https://github .com/python/cpython/issues/71542 >`__
1180+ since Python 3 (if it ever was).
1181+ * The ` Cygwin < https ://cygwin.com/ >`_ installer offers to install the
1182+ ` Python interpreter < https://cygwin.com/packages/summary/python3.html >`__
1183+ as well
12161184
12171185See `Python for Windows <https://www.python.org/downloads/windows/ >`_
12181186for detailed information about platforms with pre-compiled installers.