python exe 文件在 windows xp 上启动时崩溃
python exe file crashes while launching on windows xp
我有一个 python 程序,它使用了 Tkinter、matplotlib、numpy。
它是由 py2exe 和 运行 在我的 windows 8 主机系统上成功构建的。
我有一个基于 windows 7 的系统,该程序(基于 windows 8)也可以工作。
但是当我试图在 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]
我可以建议 - numpy 有问题吗?如果是,那我该如何解决?
我遇到了类似的问题,PyFactura issue #3, the solution seems to be removing crypt32.dll
from the bundled DLLs (py2exe setup options, for more info see aws-cli):
# 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'}
调用了 _subprocess.CreateProcess
。修复:
env_mapper = os.environ.copy()
env_mapper.update({'foo': 'bar'})
注意有一个相关问题here。
以及关于 this GitHub issue 的一些讨论。
和 this related Python bug。
所有这些似乎都与冻结的 Python 应用程序中的 crypt32.dll
或通过 py2app 相关。
我有一个 python 程序,它使用了 Tkinter、matplotlib、numpy。 它是由 py2exe 和 运行 在我的 windows 8 主机系统上成功构建的。 我有一个基于 windows 7 的系统,该程序(基于 windows 8)也可以工作。 但是当我试图在 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]
我可以建议 - numpy 有问题吗?如果是,那我该如何解决?
我遇到了类似的问题,PyFactura issue #3, the solution seems to be removing crypt32.dll
from the bundled DLLs (py2exe setup options, for more info see aws-cli):
# 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'}
调用了 _subprocess.CreateProcess
。修复:
env_mapper = os.environ.copy()
env_mapper.update({'foo': 'bar'})
注意有一个相关问题here。
以及关于 this GitHub issue 的一些讨论。
和 this related Python bug。
所有这些似乎都与冻结的 Python 应用程序中的 crypt32.dll
或通过 py2app 相关。