gpt4 book ai didi

python - 程序第二次运行时 multiarray.pyd 出现未处理的异常

转载 作者:行者123 更新时间:2023-11-30 04:05:49 25 4
gpt4 key购买 nike

我正在用 c++ 制作一个 .dll 插件并在其中嵌入 python 2.7。

在我导入大型程序之前,简单的 .py 程序一切正常。最奇怪的是程序第一次运行没问题,第二次却抛出异常:

Unhandled exception at 0x6731ADA1 (multiarray.pyd) in EuroScope.exe: 0xC0000005: Access violation writing location 0x00000001.

(Lib/Dll文件夹和模块都复制到.exe文件夹下)

我在网上搜索过,有几个人犯了同样的错误,但对他们有效的解决方案并不适合我。例如here

我知道这是一个非常具体的错误,但我希望外面的人已经设法克服了它。我不会在这里发布代码,因为我认为它与这个错误无关,也因为它太长了

编辑:我设法看到问题具体在 import numpy

最佳答案

我设法解决了这个问题。似乎某些模块在多次调用其初始化例程时会出现问题,numpy 就是其中之一。解决方案是在程序的最后调用一次 Py_Finalize()Py_Initialize() 可以调用任意多次,就好像 Python 已经初始化好了,Py_Initialize() 是一个非操作 ...

而且,还发现此解决方案使应用程序运行得更快,因为 python 不需要在每次调用其某些函数时都重新启动。

关于它的更多信息here

关于python - 程序第二次运行时 multiarray.pyd 出现未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23134820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com