【问题标题】:python exe file crashes while launching on windows xppython exe文件在windows xp上启动时崩溃
【发布时间】:2015-01-12 15:03:16
【问题描述】:

我有一个使用 Tkinter、matplotlib、numpy 的 python 程序。 它是由 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 有问题吗?如果是,那我该如何解决呢?

【问题讨论】:

    标签: python windows numpy py2exe


    【解决方案1】:

    我遇到了类似的问题,PyFactura issue #3,解决方案似乎是从捆绑的 DLL 中删除 crypt32.dll(py2exe 设置选项,有关详细信息,请参阅 aws-cli):

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

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

    【讨论】:

    • 重要提示:记得删除(或重命名)py2exe输出目标文件夹中的crypt32.dll文件。
    【解决方案2】:

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

    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 相关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-09
      • 2016-03-25
      • 1970-01-01
      • 2015-01-07
      • 2012-07-17
      • 2012-04-28
      • 2018-01-25
      • 1970-01-01
      相关资源
      最近更新 更多