Officially, Python 3.9 and above are not supported on Windows 7 SP1 and Windows Server 2008 R2 SP1. Here, you can obtain unofficial Windows installers that bring back support for these older Windows versions.
These installers also work on newer versions of Windows and can be used whenever official support is dropped. For instance, Python 3.14 officially requires Windows 10 or later, but these installers allow continued use on Windows 8 and 8.1 in addition to Windows 7 SP1.
Note: Windows update KB2533623 must be installed for Python to run. Ensure that your computer is up-to-date via Windows Update. Alternatively, you can manually install update KB3063858, which supersedes KB2533623. Update KB3063858 can be obtained at the following link for 32-bit Windows or 64-bit Windows.
For each Python version, this repository includes the following.
- 64-bit executable installer (e.g. python-3.9.0-amd64-full.exe)
- 32-bit executable installer (e.g. python-3.9.0-full.exe)
- 64-bit embeddable zip file (e.g. python-3.9.0-embed-amd64.zip)
- 32-bit embeddable zip file (e.g. python-3.9.0-embed-win32.zip)
- 64-bit NuGet package (e.g. python.3.9.0.nupkg)
- 32-bit NuGet package (e.g. pythonx86.3.9.0.nupkg)
- 64-bit free-threaded NuGet package (e.g. python-freethreaded.3.13.0.nupkg) (since 3.13)
- 32-bit free-threaded NuGet package (e.g. pythonx86-freethreaded.3.13.0.nupkg) (since 3.13)
- Windows help file (e.g. python390.chm) (3.9 and 3.10 only)
For the more technical among you, these installers were built from the source distributions published at https://www.python.org/downloads/source/, with the following modifications.
- Include the file
api-ms-win-core-path-l1-1-0.dll
in the distribution. This file was obtained from https://github.com/adang1345/api-ms-win-core-path and is necessary for Python to run on older Windows versions. - Create full installers that include all components to allow for a fully offline installation. These include debug symbols, debug binaries, and the Universal CRT. For Python 3.13 or higher, these include the free-threaded build as well.
- Edit the OS version check to allow the installer to proceed on Windows 7 SP1 and Windows Server 2008 R2 SP1.
- For Python 3.11 or higher, modify the Python source code to restore compatibility with Windows 7 SP1 and Windows Server 2008 R2 SP1.
- Fix a few bugs in the build scripts.
See Notes.md for more specific details about how I built these installers and how you may build them yourself.
To install a .nupkg
package, ensure that you have the NuGet Command-Line Interface installed. Go to the directory containing the .nupkg
file. Replace target\installation\directory
in the following commands with the desired location to install the package.
For 64-bit Python, run nuget install python -Source %cd% -OutputDirectory target\installation\directory
For 32-bit Python, run nuget install pythonx86 -Source %cd% -OutputDirectory target\installation\directory
For 64-bit Python, run nuget install python -Source $(Get-Location) -OutputDirectory target\installation\directory
For 32-bit Python, run nuget install pythonx86 -Source $(Get-Location) -OutputDirectory target\installation\directory
In an effort to keep the size of this repository low, the Git history will not be kept. Updates will be made via force-pushes. If you fork this repository and wish to update your fork, see https://stackoverflow.com/questions/9646167/clean-up-a-fork-and-restart-it-from-the-upstream.
The project history is recorded at CHANGELOG.md.
These files are provided under the MIT License. See LICENSE.txt.
I am Aohan Dang (https://www.linkedin.com/in/aohan-dang-536643a7/), a professional software developer and Python enthusiast.