msvcr90.dll版本不一致。py2exe打包的程序需要9.0.21022.8这个版本号的MSVCR90.DLL
除了9.0.21022.8这个版本号的MSVCR90.DLL之外,我们还需要一个Microsoft.VC90.CRT.manifest文件放在同一目录下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<noInheritable></noInheritable>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
<file name="msvcr90.dll"/>
</assembly>
之后运行py2exe打包后的exe文件就没问题了。