8

Can someone help fill out this table, or link to a reference, that identifies which version of VC++ Redistributable each Python version is built against on Windows.


  1. Windows Python Version
  2. DLL Name
  3. VC++ Redistributable
  4. Link to installer

  1. 2.4
  2. msvcr71.dll
  3. Microsoft Visual C++ 2003 (7.1), included with .net 1.1
  4. link

  1. 2.5
  2. ?
  3. ?
  4. ?

  1. 2.6
  2. ?
  3. ?
  4. ?

  1. 2.7
  2. ?
  3. ?
  4. ?
Michael Allan Jackson
  • 4,217
  • 3
  • 35
  • 45

4 Answers4

16
  1. Windows Python Version
  2. DLL Name
  3. VC++ Redistributable
  4. Link to installer

  1. 2.4, 2.5 [32 bit]
  2. msvcr71.dll, msvcp72.dll
  3. Microsoft Visual C++ 2003 (7.1), included with .net 1.1
  4. http://msdn.microsoft.com/en-us/netframework/aa569264

  1. 2.6, 2.7, 3.0, 3.1, 3.2 [32 bit]
  2. msvcr90.dll, msvcp90.dll
  3. Microsoft Visual C++ 2008 Redistributable Package (x86)
  4. http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=29

  1. 2.5 [64 bit]
  2. msvcrt.dll, msvcp60.dll
  3. Included with Windows
  4. n/a

  1. 2.6, 2.7, 3.0, 3.1, 3.2 [64 bit]
  2. msvcr90.dll, msvcp90.dll
  3. Microsoft Visual C++ 2008 Redistributable Package (x64)
  4. http://www.microsoft.com/download/en/details.aspx?id=15336
Michael Allan Jackson
  • 4,217
  • 3
  • 35
  • 45
  • *msvcr71.dll, msvcp72.dll* Different versions? – Piotr Dobrogost Jan 28 '12 at 20:19
  • ["If you are looking for a file that ends with a "P" such as msvcp71.dll, this indicates that your file was compiled against a C++ runtime (as opposed to a C runtime), "](http://stackoverflow.com/questions/1596167/where-to-download-microsoft-visual-c-2003-redistributable) I am curious if one or other is correct, but you find people making reference to both. – Michael Allan Jackson Jan 29 '12 at 03:48
  • 2
    The C++ runtime is additive; it's not a question of one or the other. msvcrXX.dll is the dynamically-linked version of the C runtime library. msvcpXX.dll is the dynamically-linked version of the C++ runtime library. A normal C application (that wasn't statically linked with the C runtime library) will need msvcrXX.dll (XX depending on the version of the compiler you used). A normal C++ application will need both msvcrXX.dll and msvcpXX.dll. – metamatt May 03 '12 at 01:32
6

Python 2.5 links against msvcr71 just like 2.4. Versions 2.6 and 2.7 link against msvcr90 which is the VS2008 runtime. In fact versions 3.0, 3.1 and 3.2 also link against msvcr90.

The msvcr90 redistributable is here: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=29

David Heffernan
  • 601,492
  • 42
  • 1,072
  • 1,490
2

If you're building packages (not sure about building Python itself), this new compiler may do the trick:

Microsoft Visual C++ Compiler for Python 2.7

http://www.microsoft.com/en-gb/download/details.aspx?id=44266

0
  1. 3.4 [32 bit]

  2. msvcr100.dll

  3. Microsoft Visual C++ 2010 Redistributable Package (x86)

  4. https://www.microsoft.com/en-us/download/details.aspx?id=5555

I found another table:

 14.00 -> Python 3.5, 3.6???
 10.00 -> Python 3.3, 3.4
  9.00 -> Python 2.6, 2.7, 3.0, 3.1, 3.2

Taken from https://wiki.python.org/moin/WindowsCompilers