【h5py 报错】ImportError: DLL load failed while importing defs: 找不到指定的程序。

前言
博主在运行吴恩达老师 DL 课后编程题的时候还没开始就遇到包报错的问题了。在网上找了好多解决办法,在这里统一记录一下。希望能帮到遇到同样问题的小伙伴们~
在这里插入图片描述
简单分析一下报错信息,可以看出是 h5py 这个包本身出了问题,应该是 h5.pyx 有错误。

解决方法如下:

1. 升级 h5py 版本

一开始在网上看到有人说需要升级版本,我就安了最新版本的 h5py ,后来又发现你最新版本的 h5py 不支持我当前的 python 版本(Python3.6),改到适合 python 的版本后问题也没能解决 😦

pip install h5py==3.6.0

2. 更改 h5py 的版本,可能是包间版本不兼容造成的

此处需要小伙伴们熟悉 conda 语句和 pip 语句。不熟悉的话需要上网搜索一下奥。
(1)卸载当前安装的 h5py。

conda 语句如下:

conda uninstall h5py

pip 语句如下:

pip uninstall h5py

(2)下载与自己的环境兼容的版本

conda 语句如下:

conda install h5py=2.10.0

pip 语句如下:

pip install h5py==2.10.0(此处为对应版本号)

以上 pip 和 conda 语句用哪一个都行,执行完以上两步后再运行代码看是否成功。虽然博主卸载+重装 N 遍也没用:(

还有的文章说可以直接更新包,具体语句是conda update h5py=2.10.0,我是直接卸载重装的,大家可以试一下这个方法~

【注】在用 conda 语句的时候我遇到了下面的问题:
Solving environment:failed with initial frozen solve. Retrying with flexible solve.
在网上找了教程是更新 conda 再更新所有包,这个方法我试了试没有成功,具体的教程在此 Solving environment: failed with initial frozen solve. Retrying with flexible solve的解决方法 ,小伙伴们可以试一下看看。提醒大家 conda 更新的巨慢,我的网络速度还行,更新了快一个小时~

3. 到官网下载 .whl 文件再手动安装

有网友说直接从 conda 下载的 h5py 包可能有问题,所以到官网下载。

(1)在下面的网站选择与自己的电脑以及 python 环境匹配的 whl 文件。

https://pypi.org/project/h5py/#history

博主选择的是这个文件。大家注意 python 版本和电脑位数!
在这里插入图片描述
(2)打开 conda 命令台,进入对应的虚拟环境。然后输入如下语句。

pip install D:\MSCOCO\h5py-2.10.0-cp36-cp36m-win_amd64.whl(注意这里改成自己下载的 whl 文件路径,前提是已经 uninstall 以前的 h5py了)

然后运行代码检查是否成功。

4. 可能是h5py和hdf5版本不匹配所致

打开 Navigator- Environment,查看特定环境。发现 h5py 版本为2.10.0,根据官网说明 https://pypi.org/project/h5py/2.10.0/#modal-close:Supports HDF5 versions 1.8.4 and higher. On Windows, HDF5 is included with the installer。因此在 Navigator 中将 HDF5 更新至 1.8.4 之后版本,问题就可解决。
在这里插入图片描述
这个方法博主也没用上,因为博主环境中的 hdf5 版本已经高于 1.8.4 了。

希望以上方法可以帮到小伙伴们~
祝各位小伙伴永远走在开满鲜花的路上~


版本说明

原文作者:早知晓
博文链接:Click here
转载请注明出处,谢谢合作~


  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早知晓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值