Windows Server无法运行py2exe生成的应用程序
有一个简单的Python脚本需要在没有安装Python的Windows服务器上运行。
我使用了py2exe工具,它生成了一个正常的dist子目录,里面有一个script.exe文件,在本地机器上运行得很好。
但是,当我在服务器上运行它(Windows Server 2003 R2)时,出现了这个错误:
系统无法执行指定的程序。
而且ERRORLEVEL显示为9020。
有没有什么想法?
4 个回答
2
可能缺少一些必要的DLL文件。你可以试试用depends.exe这个工具来找出缺少了哪些文件。很可能是一个以msvc开头的DLL文件。
6
要让py2exe正常工作,你需要把正确版本的Microsoft C运行时DLL文件和你的应用程序一起打包。
对于Python2.6来说,这个文件是MSVCR90.dll,版本号是9.0.21022.8。你可以从Microsoft Visual C++ 2008可再发行组件包中下载到这个文件:
注意,这个安装程序的SP1版本包含了不同版本的DLL文件,是不能用的。
我在今年早些时候在py2exe教程中详细解释过这个问题,所以我就直接给你链接过去吧: http://www.py2exe.org/index.cgi/Tutorial#Step5
1
我没有找到问题的原因,但在服务器上用 Python 2.5 和 py2exe 运行同样的脚本时,一切都正常。
我猜在 Python 2.6 下,py2exe 可能有些问题。