我的Python解释器编译的msvcrT.dll版本

时间:2013-11-20 10:12:41

标签: c++ dll python-3.x

我已将我的Python 3.3应用程序编译为带有.exe的{​​{1}},并且只能在我的本地计算机上运行。

在另一台计算机上,首先出现了丢失的DLL cx_Freeze的问题。 我在该计算机上安装msvcr100.dll后,它没有显示任何错误,但仍然无法正常工作,因为没有打开任何错误。

我认为我安装了错误版本的Microsoft Visual C++ 2010 Redistributable Package。如何找到我的Python解释器编译的Microsoft Visual C++ Redistributable版本?

1 个答案:

答案 0 :(得分:2)

Python 3.3是使用Visual Studio 2010编译的。它使用Msvcr100.dll。

您可以通过sys.versionplatform.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

这是Visual Studio 2010的编译器版本:

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

更直接地,您可以直接示例Python DLL的DLL导入:

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