尝试解决RuntimeError: Cannot find the MXNet library.记录

cnocr 报错RuntimeError: Cannot find the MXNet library.

安装后,引用之前博文中的测试代码,运行,
报错详细代码为:
RuntimeError: Cannot find the MXNet library.
List of candidates:
D:\Anaconda\lib\site-packages\mxnet\libmxnet.dll
D:\Anaconda\lib\site-packages\mxnet…/…/lib/libmxnet.dll
D:\Anaconda\lib\site-packages\mxnet…/…/build/libmxnet.dll
D:\Anaconda\lib\site-packages\mxnet…/…/build\libmxnet.dll
D:\Anaconda\lib\site-packages\mxnet…/…/build\Release\libmxnet.dll
D:\Anaconda\lib\site-packages\mxnet…/…/windows\Release\libmxnet.dll

一、
根据这篇博文:https://blog.csdn.net/qq_31949641/article/details/121546456
尝试:pip install mxnet==1.7.0,发现同样的问题。

二、
发现cnocr在pypi上有更新的版本,有说使用Pytorch替代了原本的Mxnet并且在任务清单打钩,更新一个版本试试:
cnocr from Pypi:https://pypi.org/project/cnocr/2.2.3/
pip install cnocr==2.2.3

安装过程中出现:
ERROR: Could not find a version that satisfies the requirement torchvision>=0.9.0 (from cnocr) (from versions: 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.2.0, 0.2.1, 0.2.2, 0.2.2.post2, 0.2.2.post3)

ERROR: No matching distribution found for torchvision>=0.9.0

报错仍然没有变化。

三、
之前有知乎回答说直接将缺失的东西放到对应的地址,找了半天没找到libmxnet.dll的直接下载地址,

四、
在pypi中搜索mxnet,发现tsinghua的源没有1.9.0的版本,修改下载源后下载pip config set global.index-url https://pypi.org/simple/
因为使用的是笔记本电脑,显卡是:Intel® Iris® Xe Graphics,所以不下载cuda版本。

仍然没有1.9.0的版本。官网中1.8.0开始就没有windows版本的可下载链接了。

五、
接下来,在Pypi直接下载mxnet的wheel安装包:
mxnet from Pypi: https://pypi.org/project/mxnet/1.9.1/#files
发现提供下载的wheel名字中均manylinux,并且标记都是linux内核,剩下的一个是macos,担心无法使用wheel安装。
wheel from Pypi: https://files.pythonhosted.org/packages/27/83/b307ad1f6e1ff60f8e418cb87f53646192681b417aadc1f40a345ba64637/mxnet-1.9.1-py3-none-manylinux2014_x86_64.whl

确实无法支持,报错:ERROR: mxnet-1.9.1-py3-none-manylinux2014_x86_64.whl is not a supported wheel on this platform.

六、
尝试直接从linux的whl中把缺失的libmxnet.dll找出来,找了一圈没有。

七、
根据之前博主中的思路,下载1.2.0的版本的whl,解压找到了:libmxnet.dll,试一下放到对应的.\site-packages\mxnet\位置能否成功运行。
报错:OSError: [WinError 193] %1 不是有效的 Win32 应用程序。包的名字是:mxnet-1.2.0-py2.py3-none-win_amd64,64位的windows为什么会出现这个报错?

八、
直接pip安装一个1.2.0版本试一试,(似乎之前那位博主尝试过了),

果然,报错:ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

cnocr 1.2.3.1 requires mxnet<1.7.0,>=1.5.0, but you have mxnet 1.2.0 which is incompatible.

也就是必须要1.5.0到1.6.0的版本才行呗,看来只能从libmxnet.dll想办法了

九、尝试1.7.0post版本,找到libmxnet.dll试试。

 继续报错:OSError: [WinError 193] %1 不是有效的 Win32 应用程序。

十、尝试其它版本cnocr:
pip install cnocr1.2.3
pip install cnocr
1.1.0

 报错仍然没有解决

========2023年7月15日17:24:13

希望能为大家提供一些解决思路,减少爬坑的时间。

"runtimeerror:cannot run the event" 是一个运行时错误,它表示无法运行事件。这个错误通常发生在编程语言中,特别是在事件驱动的程序中。 造成这个错误的原因可能有很多,以下是其中一些可能的原因: 1. 代码错误:可能是代码中存在语法错误、逻辑错误或者事件处理器的定义错误。在编译或运行代码之前,需要确保代码正确无误。 2. 事件未定义:有时候,当事件被触发时,相关的事件处理器可能未正确定义或者根本没有定义。在使用某个事件之前,必须先定义相应的事件处理器,并确保事件处理器能够正常运行。 3. 资源冲突:在某些情况下,不同的事件处理器可能会对相同的资源进行操作,导致资源冲突而无法运行事件。在编写程序时,需要注意避免这种资源冲突情况的发生。 当遇到"runtimeerror:cannot run the event"这个错误时,我们可以采取以下步骤来解决: 1. 检查代码:仔细检查代码,查找是否存在语法错误、逻辑错误或者事件处理器的定义错误。可以使用调试工具来追踪代码执行过程,找出问题所在。 2. 确认事件定义:检查是否正确定义了触发事件所对应的事件处理器。确保事件处理器能够正常运行,并且没有被其他代码或系统组件修改或删除。 3. 解决资源冲突:如果在代码中使用了共享资源,并且多个事件处理器对该资源进行操作,那么可能会导致资源冲突。需要使用适当的同步机制,如锁或条件变量,来确保资源访问的互斥性。 总之,"runtimeerror:cannot run the event"错误是一个常见的运行时错误,出现这个错误可能是代码错误、事件未定义或资源冲突等原因造成的。通过仔细检查代码、确认事件定义和解决资源冲突,我们可以解决这个错误并使程序正常运行。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值