ImportError:DLL load failed:找不到指定的模块。终极无敌解决方法!(点赞支持一下新手)
1.事情的起因
装了win10的系统,然后兴高采烈地写了一个爬虫程序,在导入matplotlib的时候出现了以下报错:
from . import _mklinit
ImportError:DLL load failed
网上一共有这样几种方法:
1.pip uninstall ×××,然后重装
2.更改Anaconda目录文件
3.升级pip
4.配置环境变量
如果这些方法都不行,哼哼……
恭喜你看到了我的文章!
以上的2、4两种方法都是基于Anaconda之上的,但我用的是vs code,因此百思不得其解,重装matplotlib也不行,直到今天才找到正解。
2.1问题思路
虽然用pip安装matplotlib后显示Successfully installed matplotlib-3.3.3,但运行程序还是有报错,我用的版本是:
python3.6.5
编辑器vs code
系统win10
2.2.1问题解决
既然pip不行,那么干脆直接下载whl文件好了,具体操作如下:
URL:https://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib
不出意外的话可以看到此界面
好,接下来按住control+f,出现黑色的搜索框
输入matplotlib(或者你要安装的模块)
就可以看到matplotlib在一堆库中脱颖而出:
单击matplotlib,转到此界面
可以看到有各种版本的matplotlib,怎么选择嫩?
以这两个为例:
3.4.2是matplotlib的版本
cp39代表的是python的版本如python3.6.5就是cp36
win_amd64指的是windows系统(64位)
win32指的是windows系统(32位)
选择自己对应的matplotlib(其他模块也一样),下载到scripts目录下。
打开cmd,输入cd ×××/×××/×××/scripts(你的scripts路径)
然后用pip下载whl文件,如pip3 install matplotlib-3.3.3-cp36-cp36m-win_amd64.whl
Processing e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\scripts\matplotlib-3.3.3-cp36-cp36m-win_amd64.whl
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==3.3.3) (2.4.7)
Requirement already satisfied: cycler>=0.10 in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==3.3.3) (0.10.0)
Requirement already satisfied: numpy>=1.15 in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==3.3.3) (1.19.5)
Requirement already satisfied: kiwisolver>=1.0.1 in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==3.3.3) (1.3.1)
Requirement already satisfied: pillow>=6.2.0 in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==3.3.3) (8.2.0)
Requirement already satisfied: python-dateutil>=2.1 in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==3.3.3) (2.8.1)
Requirement already satisfied: six in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from cycler>=0.10->matplotlib==3.3.3) (1.15.0)
Installing collected packages: matplotlib
Successfully installed matplotlib-3.3.3
下载成功!
2.2.2别以为这就结束了
可以看到,我下载的是matplotlib的最新版本3.3.3,但还是出现了报错,吾又陷入了沉思。。。。
吾三省吾身,发现问题所在:matplotlib版本太高。
我重新下载了matplotlib的老版本:matplotlib-2.2.5
pip uninstall matplotlib-3.3.3-cp36-cp36m-win_amd64.whl,删除3.3.3的whl文件,下载2.2.5的文件,然后重新pip安装,方法同上。
E:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\Scripts>pip3 install matplotlib-2.2.5-cp36-cp36m-win_amd64.whl
Processing e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\scripts\matplotlib-2.2.5-cp36-cp36m-win_amd64.whl
Requirement already satisfied: numpy>=1.7.1 in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==2.2.5) (1.19.5)
Requirement already satisfied: six>=1.10 in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==2.2.5) (1.15.0)
Requirement already satisfied: pytz in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==2.2.5) (2021.1)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==2.2.5) (2.4.7)
Requirement already satisfied: python-dateutil>=2.1 in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==2.2.5) (2.8.1)
Requirement already satisfied: kiwisolver>=1.0.1 in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==2.2.5) (1.3.1)
Requirement already satisfied: cycler>=0.10 in e:\许锦浩至尊文件夹2\许锦浩至尊文件夹\编程\lib\site-packages (from matplotlib==2.2.5) (0.10.0)
Installing collected packages: matplotlib
Successfully installed matplotlib-2.2.5
运行import matplotlib,结果运行成功!
3.0求三连!
点赞、收藏+关注!!!!!!!!!
点赞、收藏+关注!!!!!!!!!
点赞、收藏+关注!!!!!!!!!
点赞、收藏+关注!!!!!!!!!
点赞、收藏+关注!!!!!!!!!
点赞、收藏+关注!!!!!!!!!
点赞、收藏+关注!!!!!!!!!
来源:AlphaCats