python无法导入HDF4

  1. 代码里imports那里的from pyhdf import SD下面总出现红线,如图1所示,把鼠标放在上面时会提示“安装此包”;
  2. 尝试手动导入hdf4包,Python环境右下角则会出现 installing的进度条;

图1python无法导入HDF4
3. 若2步进度条失败,会提出 Details,点击查看什么问题;
4. 错误提示“返回值为1,无法在编译器路径下找到pipe……”,最上面会给出cmd执行命令,下面console框里会输出具体执行步骤及各步状态(因为是先解决问题后撰写的步骤,故无图无真相) ;
5. 看到给的提示信息,就windows+R调出cmd窗口,执行了上步给出的cmd命令,显示正在安装,感觉有戏,但随后就会出现 “runtimerror:无法找到所需hdf4 dlls – check LIBRARY_DIRS……”等提示;
6. 此时,在百度里搜 “Python hdf4”,找到https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame;进入官网后会看到很多hdf4的版本,选取哪个取决于你电脑端安装的Python是哪个版本和系统是32位或64位。以我电脑安装Python3.7为例,对应图2中cp37的两个;又因为我电脑是64位系统,则选择 pyhdf-0.10.2-cp37-cp37-win_amd64.whl
图2python无法导入HDF4
7. 下载第6步hdf版本,并将其放置你电脑端安装Python的虚拟环境下 C:*\AppData\Local\Programs\Python\Python37\Lib\site-packages\ 该目录下面;
8. 再重复去执行第2步,这时候会Python details的框里会提示 “pip install hdf”执行命令,下面console框里依旧报错;
9. 这个时候再次打开cmd窗口,输入
pip install XXX\pyhdf-0.10.2-cp37-cp37-win_amd64.whl
, XXX代表存放的路径,完整命令为 “pip install C:*
****\AppData\Local\Programs\Python\Python37\Lib\site-packages\pyhdf-0.10.2-cp37-cp37-win_amd64.whl”, 等待安装成功(此处不*也可以安装成功);
10. 回到Pycharm编译器中会发现import那里不再提示错误,即安装成功!

启发:
1. 从pycharm提示的错误来看,hdf4跟wheel有关,在下载hdf4包时发现其后缀名为.whl,可大概判断出你已找到了解决该问题的关键点。
2. 另外,pycharm第二次提示的pip install hdf,没有注意到此处的hdf代表其路径,所以在此处反复试验依旧出错。
3. 最后,cmd打开后直接输入pip命令即可,不需要区分是否在Python编译器路径下面执行。
4. 最后的最后,本人小白一枚能解决,各位大佬也能顺利解决的,good luck!