使用py2exe在64位Windows 7机器上为32位Windows XP打包Python
我正在我的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 是操作系统的一部分。