8000 gh-112984 Update Windows build for free-threaded builds by zooba · Pull Request #113129 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content

gh-112984 Update Windows build for free-threaded builds #113129

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 24 commits into from
Jan 17, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
00478ff
gh-112984 Update Windows build for free-threaded builds
zooba Dec 14, 2023
2a1ef3b
Fix rt script
zooba Dec 14, 2023
7912ba4
Add suffix
zooba Dec 14, 2023
87ba7ac
Some test fixes and new venv launcher
zooba Dec 14, 2023
ff83554
Finish venv launcher, update venv
zooba Dec 15, 2023
e6211cb
Fix pyvenv path calculation
zooba Dec 15, 2023
3a7425b
[WIP] Update installer to add optional freethreaded install
zooba Dec 15, 2023
a59e2fc
Merge remote-tracking branch 'upstream/main' into gh-112984
zooba Dec 18, 2023
0528976
Add visible option to MSI
zooba Dec 18, 2023
198082e
Build freethreaded properly in tools/msi/build.bat
zooba Dec 18, 2023
65efd4e
Test fixes
zooba Dec 19, 2023
55205fa
Fix launcher tests
zooba Dec 19, 2023
9d9dd9b
NEWS and whitespace
zooba Dec 19, 2023
d027b93
Update venv and tests
zooba Dec 20, 2023
5e7cf0a
Avoid comparing bytes and str
zooba Dec 20, 2023
6e38ca1
Ensure Py_GIL_DISABLED is consistent
8000 zooba Dec 20, 2023
011478b
Update PC/layout script for free-threaded
zooba Dec 20, 2023
903c168
Merge remote-tracking branch 'upstream/main' into gh-112984
zooba Dec 21, 2023
b6cc6ca
Merge remote-tracking branch 'upstream/main' into gh-112984
zooba Jan 4, 2024
524edf9
Merge remote-tracking branch 'upstream/main' into gh-112984
zooba Jan 5, 2024
8217689
Update docs
zooba Jan 5, 2024
1255715
Update variable in build script
zooba Jan 5, 2024
baa6549
Merge remote-tracking branch 'upstream/main' into gh-112984
zooba Jan 17, 2024
8d54a59
Add experimental label to installer
zooba Jan 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update docs
  • Loading branch information
zooba committed Jan 5, 2024
commit 82176899cf37de6deeed77e2b2e79fd8d2e0d0e8
Binary file added Doc/using/win_install_freethreaded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
64 changes: 62 additions & 2 deletions Doc/using/windows.rst
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,46 @@ settings and replace any that have been removed or modified.
"Uninstall" will remove Python entirely, with the exception of the
:ref:`launcher`, which has its own entry in Programs and Features.

.. _install-freethreaded-windows:

Installing Free-threaded Binaries
---------------------------------

.. versionadded:: 3.13 (Experimental)

.. note::

Everything described in this section is considered experimental,
and should be expected to change in future releases.

To install pre-built binaries with free-threading enabled (see :pep:`703`), you
should select "Customize installation". The second page of options includes the
"Download free-threaded binaries" checkbox.

.. image:: win_install_freethreaded.png

Selecting this option will download and install additional binaries to the same
location as the main Python install. The main executable is called
``python3.13t.exe``, and other binaries either receive a ``t`` suffix or a full
ABI suffix. Python source files and bundled third-party dependencies are shared
with the main install.

The free-threaded version is registered as a regular Python install with the
tag ``3.13t`` (with a ``-32`` or ``-arm64`` suffix as normal for those
platforms). This allows tools to discover it, and for the :ref:`launcher` to
support ``py.exe -3.13t``. Note that the launcher will interpret ``py.exe -3``
(or a ``python3`` shebang) as "the latest 3.x install", which will prefer the
free-threaded binaries over the regular ones, while ``py.exe -3.13`` will not.
If you use the short style of option, you may prefer to not install the
free-threaded binaries at this time.

To specify the install option at the command line, use
``Include_freethreaded=1``. See :ref:`install-layout-option` for instructions on
pre-emptively downloading the additional binaries for offline install. The
options to include debug symbols and binaries also apply to the free-threaded
builds.

Free-threaded binaries are also available :ref:`on nuget.org <windows-nuget>`.

.. _windows-store:

Expand Down Expand Up @@ -450,9 +490,29 @@ automatically use the headers and import libraries in your build.

The package information pages on nuget.org are
`www.nuget.org/packages/python <https://www.nuget.org/packages/python>`_
for the 64-bit version and `www.nuget.org/packages/pythonx86
<https://www.nuget.org/packages/pythonx86>`_ for the 32-bit version.
for the 64-bit version, `www.nuget.org/packages/pythonx86
<https://www.nuget.org/packages/pythonx86>`_ for the 32-bit version, and
`www.nuget.org/packages/pythonarm64
<https://www.nuget.org/packages/pythonarm64>`_ for the ARM64 version

Free-threaded packages
----------------------

.. versionadded:: 3.13 (Experimental)

.. note::

Everything described in this section is considered experimental,
and should be expected to change in future releases.

Packages containing free-threaded binaries are named
`python-freethreaded <https://www.nuget.org/packages/python-freethreaded>`_
for the 64-bit version, `pythonx86-freethreaded
<https://www.nuget.org/packages/pythonx86-freethreaded>`_ for the 32-bit
version, and `pythonarm64-freethreaded
<https://www.nuget.org/packages/pythonarm64-freethreaded>`_ for the ARM64
version. These packages contain both the ``python3.13t.exe`` and
``python.exe`` entry points, both of which run free threaded.

.. _windows-embeddable:

Expand Down
0