使用py2exe在64位Windows 7机器上为32位Windows XP打包Python

1 投票
1 回答
1008 浏览
提问于 2025-04-17 11:15

我正在我的64位Windows 7电脑上使用py2exe来打包一个Python应用程序。这个应用程序的最终目标是32位的Windows机器。

我在64位的Windows 7上使用的是32位的Python 2.7。当我打包应用程序时,py2exe提醒我有几个来自system32目录的DLL文件需要打包。

现在生成的exe文件在目标机器上无法运行:在Windows XP(32位)和Windows Vista(32位)上出现错误,提示C:\myapp\bin\WS2_32.dll文件损坏,需要检查与Windows安装的匹配情况。

检查结果是:
Windows 7 64位的system32目录下的WS2_32.dll文件大小是290KB
Windows XP 32位的system目录下的WS2_32.dll文件大小是80KB

我的问题是,考虑到这些DLL文件大小的差异,我能否在Windows 7上使用py2exe构建一个适用于XP/Vista 32位的应用程序?

我还尝试用XP的WS2_32.dll替换C:\myapp\bin\中的那个DLL,但这次应用程序没有启动。

1 个回答

1

py2exe 提醒你:

你的可执行文件还依赖于一些没有包含在内的 dll 文件,你可能需要或不需要把它们一起分发。

如果你要分发这些文件,确保你有相应的许可证,并且 确保你不要分发属于操作系统的文件

WS2_32.dll 是操作系统的一部分。

撰写回答