这两天运行程序总是报错,关键找了半天还不知道到底是为什么。。。网上搜了n种回答,没有一种适用于我的情况。
ImportError: DLL load failed while importing _fitz: 找不到指定的模块。
ImportError: DLL load failed while importing interpreter: 找不到指定的模块。
以下是我的试错之路,各位观众朋友可以看下自己是否也有类似的情况,也许刚好有一种情况恰好解决了你的问题:
1.顺着它报错的这个包一层一层点进去,什么问题也没发现,你说找不到这个包,那我再给安一遍总行了吧。。。。不行,还是报错
2.有的说是pip uninstall 后再重新安一遍,可能是numpy的版本不一致,于是我把那个pdf2docx删了又安,再interpreter里删除了又安,在终端里卸载了又安,都不见效。然后又把解释器里的所有包能升级的都升级,把我的pip 也升级,但一运行还是报这个错。
3.在搜这个问题的时候经常看到说是conda的问题,https://www.jianshu.com/p/92064b2b5d26
可是我没有使用,于是怀疑是不是我用的服务器虚拟机的原因?可是我该怎么办呢…
4.后来终于发现了这篇文章https://blog.csdn.net/weixin_46043195/article/details/123621417,和我的情况极为相似,因为我就是用的服务器上的虚拟机运行的程序,我以为终于看到了希望的曙光!我以为我也是缺少DLL,然而,现实远比我想象的残酷。。。。
一是里面 提到的那个DLL我不知道该去哪里下载,后来搜集很多答案看到说可以在一些非官方网站找到那些文件,但是有下载恶意文件中病毒点的风险。
然后我怀着忐忑的的心情去找本机的那个安装路径,也就是下图红框中的路径,发现我的电脑里竟没有这个AppData这个文件夹?费了半天劲,发现可以在隐藏的文件夹中找到它,这就完了吗?并没有,然后我发现我又没有Programs这个文件夹!然后这个方案只能放弃。。。
5.后来怀疑是不是Python使用的是3.11版本的问题,因为用我自己电脑上的3.8版本运行一点毛病都没有,然后又安装了python3.8版本,但还是这个报错,到底是为什么,我真的很好奇。。。。。。。
6.然后又看到回答说可能是环境变量问题。因为刚安了3.8版本,我在终端输入python还是3.11的版本,所以在环境变量里把3.8的换到最上面,乱七八糟试了一通,搞笑的是也没换成功,然后用cd命令切换到安装3.8的D盘里,查pip list,明明显示有,我就纳了闷了,为什么一运行就说找不到。。。。。
7.还看到一个文章也和我情况类似
https://blog.csdn.net/qq_37435462/article/details/111878647
https://blog.csdn.net/qq_44111805/article/details/128145470
一度让我陷入问题即将要被解决的欣喜之中。。。这篇回答的作者是下载numpy,我学着也在http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy这个网址里搜asammdf,搞笑的事情发生了,根本就没有我要找的这个。。。。
只能也跟着下载个numpy,然后按照步骤一步一步执行下来,结果还是没能解决问题
8.大大小小令我疲惫绝望的尝试我已记不太清了,绝望之际。。。竟莫名其妙找到了解决方案!
解决方案:
我新建里一个空白项目,里面除了导入几个包,什么也没写,排除是受到了代码的影响,倒要看看你怎么报错的。。。果然没让我失望,什么都没有也能报错!
怎么我之前运行的程序就没遇见这种情况!
于是我只导入了一个numpy,完全没问题啊
然后我再导入一个pandas,依旧没有问题
然后我再导入刚才那个报错的pdf2docx包。。。好了?!不报错了?!
难道是因为之前代码里没有导入numpy和pandas吗?
相信细心的朋友已经发现了问题所在,这个asammdf包写在了numpy和pandas包的前面,调换一下顺序程序终于不报这个错了(又开始报别的错了。。。。不过各位观众如果你和我是一样的情况,大概率这个找不到包的问题就解决了)
想不到困扰我这么久的问题,解决方案竟是把import numpy这个放到前面,没写的话在前面补一下,这么简单!!!!!。。。。。