Differences between revisions 10 and 72 (spanning 62 versions)
Revision 10 as of 2015-11-12 11:56:07
Size: 6199
Editor: Jgoutin
Comment:
Revision 72 as of 2022-01-27 14:04:44
Size: 11209
Comment: Add more up to date VS build instructions provided by Steve Dower
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Even if Python is an interpreted language, you may need to install Windows C++ compilers in some cases.
Unlike Linux, compilers for Windows are not included by default in the OS.
<<TableOfContents()>>
Line 4: Line 3:
By example, you will need to use them if you want :
 * Install a non-pure Python package from sources with [[https://pip.pypa.io/|Pip]] (If there is no [[http://wheel.readthedocs.org|Wheel package]] provided).
 * Compile a [[http://cython.org/|Cython]] file.
Even though Python is an interpreted language, you may need to install Windows C++ compilers in some cases. Unlike Linux, compilers for Windows are not included by default in the OS.
Line 8: Line 5:
Microsoft provide official C++ compilers called ''Visual C++'', you can find them with ''Visual Studio'' or, for some versions, in standalone distribution.
Some alternates compilers exists like [[http://mingw.org/|MinGW]], but the CPython implementation is compiled with Microsoft official compilers and compatibility may not be perfect.
For example, you will need to use them if you wish to:
Line 11: Line 7:
The compiler architecture must be the same as Python (Example: If you use Python 64bit, you have to use a x64 compiler).  * Install a non-pure Python package from sources with [[https://pip.pypa.io/|Pip]] (if there is no [[http://wheel.readthedocs.org|Wheel package]] provided).
 * Compile a [[http://cython.org/|Cython]] or [[https://pypi.python.org/pypi/Pyrex|Pyrex]] file.
Line 13: Line 10:
= Which Microsoft Visual C++ compiler use with a specified Python version ? =
Each Python version use a specific compiler version (Example : ''CPython 2.7'' use ''Visual C++ 9.0'', ''CPython 3.3'' use ''Visual C++ 10.0'', ...). So, you need to install the compiler version linked to you Python version :
||'''Visual Studio'''||'''Visual C++'''||'''CPython'''||
||2015||14.0||3.5||
||2010||10.0||3.3, 3.4||
||2008||9.0||2.6, 2.7, 3.0, 3.1, 3.2||
Microsoft provides official C++ compilers called ''Visual C++'', you can find them bundled with ''Visual Studio'' or, for some versions, in standalone distributions. Some alternative compilers exist like [[http://mingw.org/|MinGW]], but incompatibilities may occur with a CPython official distribution that is built with Microsoft Visual C++.
Line 20: Line 12:
= Compilers Installation = The compiler's architecture must be the same as Python's (for example: if you use Python 64bit, you have to use an x64 compiler).
Line 22: Line 14:
Compatible architectures is specified for each compiler between brackets. = Which Microsoft Visual C++ compiler to use with a specific Python version ? =
Each Python version uses a specific compiler version (e.g. ''CPython 2.7'' uses ''Visual C++ 9.0'', ''CPython 3.3'' uses ''Visual C++ 10.0'', etc). So, you need to install the compiler version that corresponds to your Python version :
||'''Visual C++''' ||'''CPython''' ||
||14.x ||3.5 - 3.10 ||
||10.0 ||3.3 - 3.4 ||
||9.0 ||2.6 - 2.7, 3.0 - 3.2 ||
Line 24: Line 21:
This table resume architecture names correspondence:
||'''Windows'''||'''Architecture'''||
||32Bit||x86||
||64Bit||x64||
||Itanium||ia64||
= Distutils notes =
If the package's ''setup.py'' (still) uses ''distutils'' rather than the [[https://docs.python.org/2/library/distutils.html|recommended]] ''setuptools'', you may need extra steps:
Line 30: Line 24:
== Microsoft Visual C++ 14.0 standalone: Visual C++ Build Tools 2015 (x86, x64) ==  * ''distutils'' only supports the very minimum of compiler setups. The sections in this guide corresponding to them explicitly mention ''distutils''.
 * For other setups, you need to run the compilation from the "SDK prompt" of the corresponding toolchain and set the ''DISTUTILS_USE_SDK'' environment variable to a non-empty value.
Line 32: Line 27:
'''Work in progress...''' = Compilers Installation and configuration =
Compatible architectures are specified for each compiler in brackets.
Line 34: Line 30:
This is the standalone version of ''Visual C++ 14.0'' compiler, you don't need to install ''Visual Studio 2015''.
 * [[https://www.microsoft.com/en-us/download/details.aspx?id=49512|Microsoft Visual C++ Build Tools 2015]]
/!\ Before do anything, install or upgrade the ''Setuptools'' Python package. It contain compatibility improvements and add automatic use of compilers:
Line 37: Line 32:
== Microsoft Visual C++ 14.0 with Visual Studio 2015 (x86, x64) ==

''Visual Studio 2015'' contain ''Visual C++ 14.0'' compiler. ''Distutils'' will automatically detect the compiler and use it.

== Microsoft Visual C++ 10.0 standalone: Windows SDK 7.1 (x86, x64, ia64) ==

This is the standalone version of ''Visual C++ 10.0'' compiler, you don't need to install ''Visual Studio 2010''.

 * Uninstall ''Microsoft Visual C++ 2010 Redistribuable'' if present (all versions and architecture). If present, it can cause error on Windows SDK 7.1 installation.
 * Install ''[[https://www.microsoft.com/en-US/download/details.aspx?id=17851|Microsoft .NET Framework 4]]'' if not present.
 * Install ''[[https://www.microsoft.com/en-us/download/details.aspx?id=8279|Microsoft Windows SDK for Windows 7 and .NET Framework 4]]''. Only ''Windows headers and libraries'' and ''Visual C++ Compilers'' options are needed, you can uncheck all other options.
 * reinstall ''[[https://www.microsoft.com/en-us/download/details.aspx?id=26999|Microsoft Visual C++ 2010 Redistribuable]]'' (In all previously installed architectures).

If you want automatic use of this compiler with Python :
 * Make a back up of ''C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat''
 * Edit it and replace its content with the following text:
{{{
@echo off
rem Vcvarsall changed for automatic use of "Windows 7.1 SDK" with Distutils on Python
set DISTUTILS_USE_SDK=1
set MSSdk=1
if /i "%1" == "amd64" (
    set vcvararch=x64
) else if /i "%1" == "x64" (
    set vcvararch=x64
) else if /i "%1" == "ia64" (
    set vcvararch=ia64
) else (
    set vcvararch=x86
)
CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /%vcvararch% /release
}}}
 * ''Distutils'' will now automatically call the compiler when needed.

If you don't want to modify ''vcvarsall.bat'' you have to run the ''Windows SDK 7.1 Command Prompt'' (''C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd'') each time you want compile with Python.
By default, it use the ''x86 Debug'' configuration. Use ''/x64'' or ''/ia64'' arguments for change architecture and ''/Release'' argument for use the release configuration.

== Microsoft Visual C++ 10.0 with Visual Studio 2010 (x86, x64, ia64) ==
''Visual Studio 2010'' contain ''Visual C++ 10.0'' compiler. ''Distutils'' will automatically detect the compiler and use it.

== Microsoft Visual C++ 9.0 standalone: Visual C++ Compiler for Python 2.7 (x86, x64, ia64) ==

This is the standalone version of ''Visual C++ 9.0'' compiler, you don't need to install ''Visual Studio 2008''.

 * Install ''[[https://www.microsoft.com/en-us/download/details.aspx?id=44266|Microsoft Visual C++ Compiler for Python 2.7]]''.
 * Make sure ''setuptools'' version is at least 6.0 or it will not correctly detect the compiler path. Simply run the following in command prompt for update it:
Line 87: Line 36:
Note: Even if this compiler specify Python 2.7, you can use it with all Python versions using ''Visual C++ 9.0''. == Microsoft Visual C++ 14.x with Visual Studio 2022 (x86, x64, ARM, ARM64) ==

 * Install ''[[https://visualstudio.microsoft.com/downloads/|Microsoft Visual Studio 2022]]'' (or later).
 * Install the ''Python development'' workload and the optional ''Python native development tools'' option.
 * Install the latest ''Windows SDK'' (under ''Native development'' in the installer).
 * Optional: Set {{{$env:PlatformToolset}}} to your toolset version before building, if it doesn't detect it.
 * Update to the latest ''setuptools'' Python package version.

For additional details, please have a look at the Windows section of the [[https://devguide.python.org/setup/#windows|Python Development Guide]] and the [[https://github.com/python/cpython/blob/main/PCbuild/python.props|PCbuild/python.props]] file for full details on how Python is built on Windows.

At the time of this writing, CPython is built using VC++ 14.3 (Jan 2022).

== Microsoft Visual C++ 14.2 standalone: Build Tools for Visual Studio 2019 (x86, x64, ARM, ARM64) ==
This is a standalone version of ''Visual C++ 14.2'' compiler, you don't need to install ''Visual Studio 2019''.

 * Install ''[[https://visualstudio.microsoft.com/vs/older-downloads/|Microsoft Build Tools for Visual Studio 2019]]''.
 * In Build tools, install ''C++ build tools'' and ensure the latest versions of ''MSVCv142 - VS 2019 C++ x64/x86 build tools'' and ''Windows 10 SDK'' are checked.
 * The ''setuptools'' Python package version must be at least 34.4.0.

{i} Build Tools also allows to install any previous Visual C++ 14 version (Including 2015, 2017 ones).

== Microsoft Visual C++ 14.2 with Visual Studio 2019 (x86, x64, ARM, ARM64) ==
''Visual Studio 2019'' contains ''Visual C++ 14.2'' compiler. The ''setuptools'' Python package version must be at least 34.4.0.

== Microsoft Visual C++ 14.1 standalone: Build Tools for Visual Studio 2017 (x86, x64, ARM, ARM64) ==
This is a standalone version of ''Visual C++ 14.1'' compiler, you don't need to install ''Visual Studio 2017''.

 * Install ''Microsoft Build Tools for Visual Studio 2017''.
 * The ''setuptools'' Python package version must be at least 34.4.0.

/!\ Build Tools for Visual Studio 2017 was upgraded by Microsoft to Build Tools for Visual Studio 2019. See the previous paragraph to install it.

== Microsoft Visual C++ 14.1 with Visual Studio 2017 (x86, x64, ARM, ARM64) ==
''Visual Studio 2017'' contains ''Visual C++ 14.1'' compiler. The ''setuptools'' Python package version must be at least 34.4.0.

/!\ Visual Studio 2017 was upgraded by Microsoft to Visual Studio 2019. See the previous paragraph to install it.

== Microsoft Visual C++ 14.0 standalone: Visual C++ Build Tools 2015 (x86, x64, ARM) ==
This is a standalone version of ''Visual C++ 14.0'' compiler, you don't need to install ''Visual Studio 2015''.

 * Install ''Microsoft Visual C++ Build Tools 2015''. Check ''Windows 8.1 SDK'' and ''Windows 10 SDK'' options.
 * The ''setuptools'' Python package version must be at least 24.0.

/!\ Visual C++ Build Tools 2015 was upgraded by Microsoft to Build Tools for Visual Studio 2017. See the previous paragraph to install it.

== Microsoft Visual C++ 14.0 with Visual Studio 2015 (x86, x64, ARM) ==
''Visual Studio 2015'' contains ''Visual C++ 14.0'' compiler. ''Distutils'' will automatically detect the compiler and use it.

/!\ Visual Studio 2015 was upgraded by Microsoft to Visual Studio 2017. See the previous paragraph to install it.

== Microsoft Visual C++ 10.0 standalone: Windows SDK 7.1 (x86, x64, ia64) ==
This is a standalone version of ''Visual C++ 10.0'' compiler, you don't need to install ''Visual Studio 2010''.

 * Uninstall ''Microsoft Visual C++ 2010 Redistributable'' if present (all versions and architectures). If present, it can cause an error on Windows SDK 7.1 installation.
 * Install ''[[https://www.microsoft.com/download/details.aspx?id=24872|Microsoft .NET Framework 4]]'' if not present.
 * Install ''[[https://www.microsoft.com/download/details.aspx?id=8279|Microsoft Windows SDK for Windows 7 and .NET Framework 4]]''. Check ''Windows headers and libraries'', ''Visual C++ Compilers'' and ''Windows Native Code Development\Tools'' options only.
 * Install ''[[https://www.microsoft.com/download/details.aspx?id=4422|Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1]]''. This updates the compiler to Visual C++ 10.0 SP1.
 * reinstall ''[[https://www.microsoft.com/download/details.aspx?id=26999|Microsoft Visual C++ 2010 Redistributable]]'' (for all previously installed architectures).
 * The ''setuptools'' Python package version must be at least 24.0.

== Microsoft Visual C++ 10.0 with Visual Studio 2010 (x86, x64, ia64) ==
''Visual Studio 2010'' contains ''Visual C++ 10.0'' compiler. ''Distutils'' will automatically detect the compiler and use it. The ''Express'' edition of ''Visual Studio 2010'' only bundles a compiler for x86.

== Microsoft Visual C++ 9.0 standalone: Visual C++ Compiler for Python 2.7 (x86, x64) ==
This is a standalone version of ''Visual C++ 9.0'' compiler, you don't need to install ''Visual Studio 2008''.

 * Install ''[[https://www.microsoft.com/download/details.aspx?id=44266|Microsoft Visual C++ Compiler for Python 2.7]]''.
 * The ''setuptools'' Python package version must be at least 6.0.

{i} Even though this package's name refers to Python 2.7 specifically, you can use it with all Python versions that use ''Visual C++ 9.0''.

{i} This package always installs its start menu shortcuts for the installing user (i.e. an administrator) only. To get them for all users, run the installation like this: ''msiexec /i <full path to .msi> ALLUSERS=1''.

== Microsoft Visual C++ 9.0 standalone: Windows SDK 7.0 (x86, x64, ia64) ==
This is a standalone version of ''Visual C++ 9.0'' compiler, you don't need to install ''Visual Studio 2008''.

/!\ The use of ''Microsoft Visual C++ Compiler for Python 2.7'' is recommended (If you don't need to compile for ia64). See the previous paragraph to install it.

 * Install ''[[https://www.microsoft.com/download/details.aspx?id=25150|Microsoft .NET Framework 3.5 SP1]]'' if not present.
 * Install ''Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1''. Check ''Windows headers and libraries'', ''Visual C++ Compilers'' and ''Win32 Development Tools'' options only.
 * The ''setuptools'' Python package version must be at least 24.0.

== Microsoft Visual C++ 9.0 standalone: Windows SDK 6.1 (x86, x64, ia64) ==
This is a standalone version of ''Visual C++ 9.0'' compiler, you don't need to install ''Visual Studio 2008''.

/!\ Windows SDK 6.1 was upgraded by Microsoft to Windows SDK 7.0. See the previous paragraph to install it.

 * Install ''[[https://www.microsoft.com/download/details.aspx?id=25150|Microsoft .NET Framework 3.5 SP1]]'' if not present.
 * Install ''Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5''. Check ''Windows headers and libraries'', ''Visual C++ Compilers'' and ''Win32 Development Tools'' options only.
 * The ''setuptools'' Python package version must be at least 24.0.
Line 90: Line 128:
''Visual Studio 2008'' contain ''Visual C++ 9.0'' compiler. ''Distutils'' will automatically detect the compiler and use it. ''Visual Studio 2008'' contains ''Visual C++ 9.0'' compiler. ''Distutils'' will automatically detect the compiler and use it. The ''Express'' edition of ''Visual Studio 2008'' only bundles a compiler for x86.
Line 92: Line 130:
== MinGW (x86) ==
MinGW is an alternate compiler that work with all Python versions. Some incompatibilities may occur with CPython official distribution which is build with Microsoft Visual C++.
 * Install ''[[http://sourceforge.net/projects/mingw/files/|Minimalist GNU For Windows]]'' in ''C:\MinGW''.
 * Open ''MinGW Installation Manager'', check ''mingw32-base'' and ''mingw32-gcc-g++'', and ''Apply Changes'' in the ''Installation'' menu.
 * Add ''C:\MinGW\bin'' to ''PATH'' environment variable (With ";" before is PATH is not empty).
 * Create a ''distutils.cfg'' file with the following content in the folder ''\Lib\distutils'' in Python install directory :
{{{
== GCC - MinGW-w64 (x86, x64) ==

[[http://mingw-w64.org|MinGW-w64]] is an alternative C/C++ compiler that works with all Python versions up to 3.4.

 * Install ''[[http://win-builds.org/doku.php/download_and_installation_from_windows|Win-builds]]'' into ''C:\MinGW_w64''.
 * Open ''Win-builds'', switch to ''install'' at least ''binutils'', ''gcc'', ''gcc-g++'', ''getext'', ''mingw-w64'', ''win-iconv'', ''winpthreads'', ''zlib'', and click ''Process''.
 * Add ''C:\MinGW_w64\bin'' to the ''PATH'' environment variable.
 * Create a ''distutils.cfg'' file with the following contents in the folder ''\Lib\distutils'' in Python install directory :

{{{#!highlight ini
Line 106: Line 147:
= Links =
 *[[https://support.microsoft.com/en-us/kb/2977003|Microsoft : The latest supported Visual C++ downloads]] : List of up to date ''Visual C++ Redistribuable'' and ''Visual Studio'' packages.
== GCC - MinGW (x86) ==

[[http://www.mingw.org/|MinGW]] is an alternative C/C++ compiler that works with all Python versions up to 3.4.

 * Install ''[[http://sourceforge.net/projects/mingw/files/|Minimalist GNU For Windows]]'' into ''C:\MinGW''.
 * Open ''MinGW Installation Manager'', check ''mingw32-base'' and ''mingw32-gcc-g++'', and ''Apply Changes'' in the ''Installation'' menu.
 * Add ''C:\MinGW\bin'' to the ''PATH'' environment variable.
 * Create a ''distutils.cfg'' file with the following contents in the folder ''\Lib\distutils'' in Python install directory :

{{{#!highlight ini
[build]
compiler=mingw32

[build_ext]
compiler=mingw32
}}}

Even though Python is an interpreted language, you may need to install Windows C++ compilers in some cases. Unlike Linux, compilers for Windows are not included by default in the OS.

For example, you will need to use them if you wish to:

Microsoft provides official C++ compilers called Visual C++, you can find them bundled with Visual Studio or, for some versions, in standalone distributions. Some alternative compilers exist like MinGW, but incompatibilities may occur with a CPython official distribution that is built with Microsoft Visual C++.

The compiler's architecture must be the same as Python's (for example: if you use Python 64bit, you have to use an x64 compiler).

Which Microsoft Visual C++ compiler to use with a specific Python version ?

Each Python version uses a specific compiler version (e.g. CPython 2.7 uses Visual C++ 9.0, CPython 3.3 uses Visual C++ 10.0, etc). So, you need to install the compiler version that corresponds to your Python version :

Visual C++

CPython

14.x

3.5 - 3.10

10.0

3.3 - 3.4

9.0

2.6 - 2.7, 3.0 - 3.2

Distutils notes

If the package's setup.py (still) uses distutils rather than the recommended setuptools, you may need extra steps:

  • distutils only supports the very minimum of compiler setups. The sections in this guide corresponding to them explicitly mention distutils.

  • For other setups, you need to run the compilation from the "SDK prompt" of the corresponding toolchain and set the DISTUTILS_USE_SDK environment variable to a non-empty value.

Compilers Installation and configuration

Compatible architectures are specified for each compiler in brackets.

/!\ Before do anything, install or upgrade the Setuptools Python package. It contain compatibility improvements and add automatic use of compilers:

pip install --upgrade setuptools

Microsoft Visual C++ 14.x with Visual Studio 2022 (x86, x64, ARM, ARM64)

  • Install Microsoft Visual Studio 2022 (or later).

  • Install the Python development workload and the optional Python native development tools option.

  • Install the latest Windows SDK (under Native development in the installer).

  • Optional: Set $env:PlatformToolset to your toolset version before building, if it doesn't detect it.

  • Update to the latest setuptools Python package version.

For additional details, please have a look at the Windows section of the Python Development Guide and the PCbuild/python.props file for full details on how Python is built on Windows.

At the time of this writing, CPython is built using VC++ 14.3 (Jan 2022).

Microsoft Visual C++ 14.2 standalone: Build Tools for Visual Studio 2019 (x86, x64, ARM, ARM64)

This is a standalone version of Visual C++ 14.2 compiler, you don't need to install Visual Studio 2019.

  • Install Microsoft Build Tools for Visual Studio 2019.

  • In Build tools, install C++ build tools and ensure the latest versions of MSVCv142 - VS 2019 C++ x64/x86 build tools and Windows 10 SDK are checked.

  • The setuptools Python package version must be at least 34.4.0.

{i} Build Tools also allows to install any previous Visual C++ 14 version (Including 2015, 2017 ones).

Microsoft Visual C++ 14.2 with Visual Studio 2019 (x86, x64, ARM, ARM64)

Visual Studio 2019 contains Visual C++ 14.2 compiler. The setuptools Python package version must be at least 34.4.0.

Microsoft Visual C++ 14.1 standalone: Build Tools for Visual Studio 2017 (x86, x64, ARM, ARM64)

This is a standalone version of Visual C++ 14.1 compiler, you don't need to install Visual Studio 2017.

  • Install Microsoft Build Tools for Visual Studio 2017.

  • The setuptools Python package version must be at least 34.4.0.

/!\ Build Tools for Visual Studio 2017 was upgraded by Microsoft to Build Tools for Visual Studio 2019. See the previous paragraph to install it.

Microsoft Visual C++ 14.1 with Visual Studio 2017 (x86, x64, ARM, ARM64)

Visual Studio 2017 contains Visual C++ 14.1 compiler. The setuptools Python package version must be at least 34.4.0.

/!\ Visual Studio 2017 was upgraded by Microsoft to Visual Studio 2019. See the previous paragraph to install it.

Microsoft Visual C++ 14.0 standalone: Visual C++ Build Tools 2015 (x86, x64, ARM)

This is a standalone version of Visual C++ 14.0 compiler, you don't need to install Visual Studio 2015.

  • Install Microsoft Visual C++ Build Tools 2015. Check Windows 8.1 SDK and Windows 10 SDK options.

  • The setuptools Python package version must be at least 24.0.

/!\ Visual C++ Build Tools 2015 was upgraded by Microsoft to Build Tools for Visual Studio 2017. See the previous paragraph to install it.

Microsoft Visual C++ 14.0 with Visual Studio 2015 (x86, x64, ARM)

Visual Studio 2015 contains Visual C++ 14.0 compiler. Distutils will automatically detect the compiler and use it.

/!\ Visual Studio 2015 was upgraded by Microsoft to Visual Studio 2017. See the previous paragraph to install it.

Microsoft Visual C++ 10.0 standalone: Windows SDK 7.1 (x86, x64, ia64)

This is a standalone version of Visual C++ 10.0 compiler, you don't need to install Visual Studio 2010.

Microsoft Visual C++ 10.0 with Visual Studio 2010 (x86, x64, ia64)

Visual Studio 2010 contains Visual C++ 10.0 compiler. Distutils will automatically detect the compiler and use it. The Express edition of Visual Studio 2010 only bundles a compiler for x86.

Microsoft Visual C++ 9.0 standalone: Visual C++ Compiler for Python 2.7 (x86, x64)

This is a standalone version of Visual C++ 9.0 compiler, you don't need to install Visual Studio 2008.

{i} Even though this package's name refers to Python 2.7 specifically, you can use it with all Python versions that use Visual C++ 9.0.

{i} This package always installs its start menu shortcuts for the installing user (i.e. an administrator) only. To get them for all users, run the installation like this: msiexec /i <full path to .msi> ALLUSERS=1.

Microsoft Visual C++ 9.0 standalone: Windows SDK 7.0 (x86, x64, ia64)

This is a standalone version of Visual C++ 9.0 compiler, you don't need to install Visual Studio 2008.

/!\ The use of Microsoft Visual C++ Compiler for Python 2.7 is recommended (If you don't need to compile for ia64). See the previous paragraph to install it.

  • Install Microsoft .NET Framework 3.5 SP1 if not present.

  • Install Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1. Check Windows headers and libraries, Visual C++ Compilers and Win32 Development Tools options only.

  • The setuptools Python package version must be at least 24.0.

Microsoft Visual C++ 9.0 standalone: Windows SDK 6.1 (x86, x64, ia64)

This is a standalone version of Visual C++ 9.0 compiler, you don't need to install Visual Studio 2008.

/!\ Windows SDK 6.1 was upgraded by Microsoft to Windows SDK 7.0. See the previous paragraph to install it.

  • Install Microsoft .NET Framework 3.5 SP1 if not present.

  • Install Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5. Check Windows headers and libraries, Visual C++ Compilers and Win32 Development Tools options only.

  • The setuptools Python package version must be at least 24.0.

Microsoft Visual C++ 9.0 with Visual Studio 2008 (x86, x64, ia64)

Visual Studio 2008 contains Visual C++ 9.0 compiler. Distutils will automatically detect the compiler and use it. The Express edition of Visual Studio 2008 only bundles a compiler for x86.

GCC - MinGW-w64 (x86, x64)

MinGW-w64 is an alternative C/C++ compiler that works with all Python versions up to 3.4.

  • Install Win-builds into C:\MinGW_w64.

  • Open Win-builds, switch to install at least binutils, gcc, gcc-g++, getext, mingw-w64, win-iconv, winpthreads, zlib, and click Process.

  • Add C:\MinGW_w64\bin to the PATH environment variable.

  • Create a distutils.cfg file with the following contents in the folder \Lib\distutils in Python install directory :

   1 [build]
   2 compiler=mingw32
   3 
   4 [build_ext]
   5 compiler=mingw32

GCC - MinGW (x86)

MinGW is an alternative C/C++ compiler that works with all Python versions up to 3.4.

  • Install Minimalist GNU For Windows into C:\MinGW.

  • Open MinGW Installation Manager, check mingw32-base and mingw32-gcc-g++, and Apply Changes in the Installation menu.

  • Add C:\MinGW\bin to the PATH environment variable.

  • Create a distutils.cfg file with the following contents in the folder \Lib\distutils in Python install directory :

   1 [build]
   2 compiler=mingw32
   3 
   4 [build_ext]
   5 compiler=mingw32

WindowsCompilers (last edited 2023-06-09 12:03:05 by MarcAndreLemburg)

Unable to edit the page? See the FrontPage for instructions.