1

我知道如何使用 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()
4

2 回答 2

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 虚拟机。

于 2013-01-12T04:37:27.573 回答
1

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

于 2013-01-12T03:43:29.827 回答