Differences between revisions 17 and 73 (spanning 56 versions)
Revision 17 as of 2015-11-13 13:36:50
Size: 7370
Editor: Jgoutin
Comment:
Revision 73 as of 2023-06-09 12:03:05
Size: 11423
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
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.
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 6: Line 5:
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.
For example, you will need to use them if you wish to:
Line 10: Line 7:
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 some incompatibilities may occur with CPython official distribution which is build with Microsoft Visual C++.
 * 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:
The compiler architecture must be the same as Python (Example: If you use Python 64bit, you have to use a x64 compiler). 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 15: Line 12:
= 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 C++'''||'''CPython'''||
||14.0||3.5||
||10.0||3.3, 3.4||
||9.0||2.6, 2.7, 3.0, 3.1, 3.2||
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.12+ ||
||10.0 ||3.3 - 3.4 ||
||9.0 ||2.6 - 2.7, 3.0 - 3.2 ||

Please also have a look at [[https://devguide.python.org/getting-started/setup-building/index.html#windows|The Python Dev Guide for Windows]] to check for additional requirements or updates to the above table.

= 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:

 * ''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 23: Line 30:
Compatible architectures are specified for each compiler in brackets.
Line 24: Line 32:
Compatible architectures is specified for each compiler between brackets. /!\ Before do anything, install or upgrade the ''Setuptools'' Python package. It contain compatibility improvements and add automatic use of compilers:
Line 26: Line 34:
This table resume architecture names correspondence:
||'''Windows'''||'''Architecture'''||
||32Bit||x86||
||64Bit||x64||
||64Bit Itanium||ia64||

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

'''Work in progress...'''

This is the standalone version of ''Visual C++ 14.0'' compiler, you don't need to install ''Visual Studio 2015''.
 * Install ''[[https://www.microsoft.com/en-us/download/details.aspx?id=49512|Microsoft Visual C++ Build Tools 2015]]''.

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

''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=17718|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]]''. Check ''Windows headers and libraries'' and ''Visual C++ Compilers'' options only.
 * 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 :
 * Edit ''C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat'' and replace its content with the following text :
{{{
@echo off
rem Vcvarsall for Windows SDK 7.1
set DISTUTILS_USE_SDK=1
set MSSdk=1
if /i "%1" == "x64" (
    set vcvararch=x64
) else if /i "%1" == "amd64" (
    set vcvararch=x64
) else if /i "%1" == "x86_amd64" (
    set vcvararch=x64
) else if /i "%1" == "ia64" (
    set vcvararch=ia64
) else if /i "%1" == "x86_ia64" (
    set vcvararch=ia64
) else (
    set vcvararch=x86
)
set vcprogramfiles=%ProgramFiles(x86)%
if "%vcprogramfiles%"=="" set vcprogramfiles=%ProgramFiles%
call "%vcprogramfiles%\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /%vcvararch% /release
}}}
If you don't want to modify ''vcvarsall.bat'', you have to run your commands from ''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 92: Line 38:
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''.
Line 95: Line 112:
This is a standalone version of ''Visual C++ 9.0'' compiler, you don't need to install ''Visual Studio 2008''.
Line 96: Line 114:
This is the 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.
Line 98: Line 116:
 * Install ''[[https://www.microsoft.com/en-us/download/details.aspx?id=25150|Microsoft .NET Framework 3.5 SP1]]'' if not present.
 * Install ''[[https://www.microsoft.com/en-us/download/details.aspx?id=3138|Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1]]''.
 * Create a file named ''vcvarsall.bat'' in ''C:\Program Files\Microsoft Visual Studio 9.0\VC\'' containing the following text :
{{{
@echo off
rem Vcvarsall for Windows SDK 7.0
set DISTUTILS_USE_SDK=1
set MSSdk=1
if /i "%1" == "x64" (
    set vcvararch=x64
) else if /i "%1" == "amd64" (
    set vcvararch=x64
) else if /i "%1" == "x86_amd64" (
    set vcvararch=x64
) else if /i "%1" == "ia64" (
    set vcvararch=ia64
) else if /i "%1" == "x86_ia64" (
    set vcvararch=ia64
) else (
    set vcvararch=x86
)
set vcprogramfiles=%ProgramFiles(x86)%
if "%vcprogramfiles%"=="" set vcprogramfiles=%ProgramFiles%
call "%vcprogramfiles%\Microsoft SDKs\Windows\v7.0\Bin\SetEnv.cmd" /%vcvararch% /release
}}}
 * 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 125: Line 130:
''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 127: Line 132:
== MinGW (x86) ==
MinGW is an alternate C++ compiler that work with all Python versions.
 * 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 141: Line 149:
= 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.12+

10.0

3.3 - 3.4

9.0

2.6 - 2.7, 3.0 - 3.2

Please also have a look at The Python Dev Guide for Windows to check for additional requirements or updates to the above table.

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.