Officially, Python 3.8 and above are not supported on Windows Vista SP2 and Windows Server 2008 SP2. 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.
Note: On Windows Vista SP2, Windows Server 2008 SP2, Windows 7 SP1, and Windows Server 2008 R2 SP1, 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 links.
- Windows Vista SP2 x86
- Windows Vista SP2 x64
- Windows Server 2008 SP2 x86
- Windows Server 2008 SP2 x64
- Windows 7 SP1 x86
- Windows 7 SP1 x64
- Windows Server 2008 R2 SP1 x64
For each Python version, this repository includes the following.
- 64-bit executable installer (e.g. python-3.8.0-amd64-full.exe)
- 32-bit executable installer (e.g. python-3.8.0-full.exe)
- 64-bit embeddable zip file (e.g. python-3.8.0-embed-amd64.zip)
- 32-bit embeddable zip file (e.g. python-3.8.0-embed-win32.zip)
- 64-bit NuGet package (e.g. python.3.8.0.nupkg)
- 32-bit NuGet package (e.g. pythonx86.3.8.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. python380.chm) (3.8-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.
- Edit the OS version check to allow the installer to proceed on Windows Vista SP2 and Windows Server 2008 SP2.
- For Python 3.9+, 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+, these include the free-threaded build as well.
- Modify the Python source code to restore compatibility with Windows Vista SP2 and Windows Server 2008 SP2. At runtime, check whether a possibly unsupported Windows API function exists on the current system and use an alternative if it does not. Work around bugs in Windows API functions that exist on older versions of Windows.
- 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.