alizx
alizx

Reputation: 1188

Version of msvcrXX.dll that my Python interpereter compiles with

I have compiled my Python 3.3 application to a .exe with cx_Freeze and it's only run on my local machine.

On another computer, first it had an issue with a missing DLL, msvcr100.dll. After I installed Microsoft Visual C++ 2010 Redistributable Package on that computer, it doesn't show any errors, but still doesn't work because nothing opened.

I think that I installed wrong version of Microsoft Visual C++ Redistributable. How can I find out the version of msvcrXX.dll that my Python interpreter compiled with?

Upvotes: 0

Views: 209

Answers (1)

Mark Tolonen
Mark Tolonen

Reputation: 178197

Python 3.3 is compiled with Visual Studio 2010. That uses Msvcr100.dll.

You can view the compiler via sys.version or platform.python_compiler():

Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:06:53) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> import platform
>>> sys.version
'3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:06:53) [MSC v.1600 64 bit (AMD64)]'
>>> platform.python_compiler()
'MSC v.1600 64 bit (AMD64)'
>>> ^Z

This is Visual Studio 2010's compiler version:

C:\>cl
Microsoft (R) C/C++ Optimizing Compiler Version 16.00.40219.01 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]

More directly, you can example the DLL imports of the Python DLL directly:

C:\>dumpbin /imports c:\windows\system32\python33.dll | findstr /i dll
Dump of file c:\windows\system32\python33.dll
File Type: DLL
    KERNEL32.dll
    USER32.dll
    ADVAPI32.dll
    SHELL32.dll
    MSVCR100.dll

Upvotes: 2

Related Questions