Revision 72 as of 2022-01-27 14:04:44

Clear message

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:

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)

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.

{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.

/!\ 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.

/!\ 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.

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.

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.

   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.

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

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