python exe文件在Windows XP上启动时崩溃

我有一个使用Tkinter,matplotlib,numpypython程序。 它已成功build立在我的Windows 8主机系统由py2exe和运行。 我有一个基于Windows 7的系统,这个程序(在Windows 8上构build)也工作。 但是,当我试图启动这个程序在Windows XP SP3,我得到的错误日志文件的内容:

Traceback (most recent call last): File "DrawPlots.py", line 6, in <module> File "graph_ani2.pyc", line 4, in <module> File "numpy\__init__.pyc", line 170, in <module> File "numpy\add_newdocs.pyc", line 13, in <module> File "numpy\lib\__init__.pyc", line 8, in <module> File "numpy\lib\type_check.pyc", line 11, in <module> File "numpy\core\__init__.pyc", line 46, in <module> File "numpy\testing\__init__.pyc", line 13, in <module> File "numpy\testing\utils.pyc", line 15, in <module> File "tempfile.pyc", line 35, in <module> File "random.pyc", line 885, in <module> File "random.pyc", line 97, in __init__ File "random.pyc", line 113, in seed WindowsError: [Error -2146893795] 

正如我可以build议的 – 是否与numpy的问题? 如果是,那我该如何解决呢?

我遇到类似的问题, PyFactura问题#3 ,解决方案似乎是从捆绑DLL(py2exe安装选项,更多信息请参阅aws-cli )中删除crypt32.dll

 # basic options for py2exe opts = { 'py2exe': { 'dll_excludes': ['crypt32.dll'], } } 

您可能还需要排除其他特定的Windows 8.1 DLL( API-MS-Win-Core-*.dll

我也有这个错误,具体是这个输出:

 WindowsError: [Error -2146893795] Provider DLL failed to initialize correctly 

这发生在os.urandom的调用中。 这是一个子进程。

对我来说,这个错误是我用env_mapper = {'foo': 'bar'}调用了env_mapper = {'foo': 'bar'} 。 修正:

 env_mapper = os.environ.copy() env_mapper.update({'foo': 'bar'}) 

请注意,这里有一个相关的问题。 还有一些关于这个GitHub问题的讨论。 和这个相关的Python bug 。 所有这些似乎都与冻结的Python应用程序中的crypt32.dll相关,或通过py2app。