我已将我的Python 3.3应用程序编译为带有.exe
的{{1}},并且只能在我的本地计算机上运行。
在另一台计算机上,首先出现了丢失的DLL cx_Freeze
的问题。
我在该计算机上安装msvcr100.dll
后,它没有显示任何错误,但仍然无法正常工作,因为没有打开任何错误。
我认为我安装了错误版本的Microsoft Visual C++ 2010 Redistributable Package
。如何找到我的Python解释器编译的Microsoft Visual C++ Redistributable
版本?
答案 0 :(得分:2)
Python 3.3是使用Visual Studio 2010编译的。它使用Msvcr100.dll。
您可以通过sys.version
或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
这是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