我应该在py2exe中使用哪个Visual C ++ Redistributable包?

时间:2015-12-14 21:52:14

标签: python py2exe

我有wxPython GUI ,我使用py2exe编译成可执行文件。基于此tutorial

我相信我需要提供 Visual C ++ 2008 Redistributable 才能让我的程序在用户的计算机上运行。

我只是想知道 2008版本是否真的应该是我应该使用的版本。我正在py2exe上运行Windows 10

我应该使用更新的版本吗?我的项目是 Python,所以我没有直接使用Visual Studio。

1 个答案:

答案 0 :(得分:3)

简短回答

您的用户需要哪些Visual C ++运行时取决于您使用py2exe时使用的Python版本。

  • 如果您正在使用Python 2.6,Python 2.7,Python 3.0,Python 3.1或Python 3.2:您的用户将需要安装Visual C ++ 2008运行时
  • 如果您使用的是Python 3.3或Python 3.4:您的用户将需要安装Visual C ++ 2010运行时
  • 如果您正在使用Python 3.5(或更新版本):您的用户将需要Visual C ++ 2015

长答案

您的最终用户需要在其计算机上安装Visual C ++ 2008的原因是您将应用程序转换为独立的可执行文件。

当你运行py2exe创建一个独立的应用程序时,它会创建一个捆绑python27.dll的包(或者其他任何东西,具体取决于你在构建包时运行的Python版本)。这是允许您拥有独立程序的库,因为它用于运行py2exe与您的应用程序捆绑在一起的所有Python字节码。

python?.dll库需要安装Visual C ++ 2008的运行时库,因为几乎每个版本的Python 2.x和Python 3.x for Windows机器都是使用Visual C ++ 2008编译的。

此外,您正在使用wxPython,它是C ++库wxWidgets的包装器。 wxWidgets是使用Visual C ++ 2008构建的,因此您还需要运行时才能使用它。