将Python脚本转换为适用于所有/大多数Windows版本的.exe

时间:2013-01-12 03:37:34

标签: python windows py2exe pyinstaller

我知道如何使用Py2Exe,PyInstaller等将Python脚本转换为Windows可执行文件(.exe)。

但有没有办法将Python脚本转换为适用于以下所有Windows版本的.exe:Windows XP到Windows 8?

请记住,我的Python脚本非常简单,不使用任何库,如pyGTK或wxPython。它只是一个简单的控制台脚本,列出了目录中的所有文件并将其写入文件。

因此,如果我要在Windows 7 64位计算机上使用Py2Exe编译以下脚本,那么.exe是否适用于以下所有版本的Windows:Windows XP到Windows 8?我希望我不需要创建一个32位版本,然后是64位版本。

import os

def main():
  #TODO: get command line arguments
  files = listdir("\")
  out   = open('outfile.txt', 'w')
  out.write(files)
  out.close()

main()

2 个答案:

答案 0 :(得分:4)

我在Windows Vista / 32上使用PyInstaller汇总了基于wxPython的应用程序。构建可执行文件后,我使用InnoSetup将其滚动到安装程序中。我有客户在32位和64位模式下运行从XP到8的所有内容,来自以这种方式制作的相同设置可执行文件。

我正在考虑构建64位版本,但到目前为止还没有人要求它,而且似乎没有必要。

我在Windows上尝试过py2exe,cxFreeze和PyInstaller,到目前为止,PyInstaller是我最喜欢的。我在某些平台上遇到了py2exe的问题; cxFreeze当时无法处理版本资源(现在可以),PyInstaller似乎“正常工作”开箱即用的最快版本。

因此,为了切入追逐,你不需要构建你的应用程序的32位和64位版本,如果你不关心在64位Windows上它将运行在32-通过WOW虚拟机进行位模式。

答案 1 :(得分:1)

您最好的选择是在您想要支持的最低系统上创建。然后,IT应该向前兼容。 32位将在64位Windows上运行就好了。