@@ -1099,6 +1099,13 @@ almost equivalent packages from NuGet (the latter does not include Tcl/Tk,
10991099making them significantly incompatible for some users, but this is likely okay
11001100for especially old versions).
11011101
1102+ As of this PEP's acceptance, the plan is to create packages for all versions of
1103+ Python 3.10.0 onwards (including patch releases, but excluding pre-releases), so that all non-EOL releases can
1104+ be fully installed using PyManager. Versions from Python 3.5.0 onwards (excluding
1105+ pre-releases) will directly reference the packages on NuGet, making them easily
1106+ available in reduced form. Neither approach requires rebuilding the existing
1107+ releases, nor are any changes required to the sources of those releases.
1108+
11021109
11031110Administrator installs
11041111----------------------
@@ -1149,6 +1156,41 @@ substitution of 64-bit binaries. As PyManager runs as a standalone executable,
11491156this is not a necessary feature for the manager.
11501157
11511158
1159+ Test suite and debug symbols
1160+ ----------------------------
1161+
1162+ The existing installer optionally allows installation of the Python standard
1163+ library test suite, and optional installation of debug symbols. Neither of these
1164+ are necessary for most users, but they are convenient for some. Preliminary
1165+ testing shows that omitting the test suite and debug symbols saves about 60% of
1166+ the size of the compressed package (from 46MB to 18MB).
1167+
1168+ The "default" CPython packages installed by PyManager will therefore not include
1169+ the test suite or the debug symbols. However, there will be a second set of
1170+ packages that do include these extras, grouped under ``PythonTest `` (as opposed
1171+ to the default, ``PythonCore ``). For example, where ``py install 3.13 `` would
1172+ install the default, ``py install PythonTest\\3.13 `` would install a second
1173+ runtime with the additional files (which can either be launched with ``py
1174+ -V:PythonTest\\3.13 ``, or simply ``py -V:3.13 `` if no equivalent ``PythonCore ``
1175+ version is installed).
1176+
1177+ Debug binaries are no longer distributed, and all other optional features are
1178+ included by default.
1179+
1180+
1181+ Global pip command
1182+ ------------------
1183+
1184+ Unlike the current Windows Store install, no global ``pip `` command is included
1185+ (the traditional installer also does not include a global ``pip `` command,
1186+ unless the options to modify ``PATH `` and to install pip are selected; the first
1187+ of these is off by default). This impacts global installation of packages, which
1188+ is already discouraged, but has no impact on activated virtual environments.
1189+
1190+ The existing recommendation remains, which is to run ``python -m pip `` or
1191+ ``py -V:<TAG> -m pip `` to launch pip.
1192+
1193+
11521194Security Implications
11531195=====================
11541196
@@ -1672,47 +1714,6 @@ We could also detect the metadata and warn if the selected runtime does not
16721714match its requirement, but this is not part of the initial proposal.
16731715
16741716
1675- Open Issues
1676- ===========
1677-
1678- Generate packages for old versions
1679- ----------------------------------
1680-
1681- At present, we can install versions of Python back to 3.5 from the NuGet feed.
1682- These are identical to the traditional installer releases of the same versions,
1683- but do not include Tkinter, IDLE, documentation, or the test suite. However, it
1684- is very little work (and no additional storage space) to use them for older
1685- releases.
1686-
1687- New binaries releases will generate new packages, even for already released
1688- versions (currently 3.12 and 3.13). So these will exist. The open issue is
1689- whether we go back through old releases and generate full PyManager packages for
1690- them all, and how far back to go. This is merely repackaging, and does not
1691- require rebuilding or modifying the release.
1692-
1693-
1694- Include test suite in PyManager packages
1695- ----------------------------------------
1696-
1697- The test suite consumes the majority of the size of our current distribution,
1698- but is not intended to be used by most of our users. By omitting it from the
1699- standard PyManager package, all downloads become smaller and faster, at the cost
1700- of some users having to obtain the test suite in another way (such as building
1701- from source).
1702-
1703- It seems obviously preferable to have some way to access the exact test suite
1704- intended for a particular build. So the question is whether to include it by
1705- default (there are no optional components anymore), to publish it independently
1706- (for manual download as a ZIP file), or to publish a second feed of packages
1707- that include both the runtime and the test suite.
1708-
1709-
1710- Footnotes
1711- =========
1712-
1713- TODO: Collate references
1714-
1715-
17161717Copyright
17171718=========
17181719
0 commit comments