问题描述
有包却提示ModuleNotFoundError
在正常情况下,你使用pip或者conda检查是否有相应包的时候,显示的是有的。但是一旦运行程序就会报这个ModuleNotFoundError错误。
问题可能是程序运行环境不对。
解决方案
(1)进入正确的环境
所以你需要使用conda激活你自己的环境。
conda activate conda_name
如果默认的是base等环境,你还需要先退出,再激活你自己相应项目的环境。
conda deactivate
(2)包的版本问题
还有原因就是版本不对。你应该使用conda或pip去卸载旧版本升级新版本。
pip卸载与安装包
pip install numpy
pip uninstall numpy
conda卸载与安装包
conda install numpy
conda uninstall numpy
如果pip需要更新:
更新pip
python -m pip install --upgrade pip
使用pip升级包
pip install --upgrade numpy
至于具体是使用conda还是pip需要看你的包的情况。有的时候,如果不是使用conda安装,conda会找不到相应的包,需要使用pip去卸载。
一般这些包卸载重装后基本都能解决ModuleNotFoundError了。
这里有更为齐全的conda相关命令。
conda配置环境的一些常用命令_ACMSunny的博客-CSDN博客
(3)编译器问题
还有可能是选择的编译器的问题:view——command plaette——selected interpreter,选择你安装过相应包的编译器就么问题了。
这一篇是我之前遇到过的解决方案
(4)还有一种是python自身问题
这时候你需要更新python版本。但是有时候会报错找不到相应的版本。这个时候大概率需要使用镜像网站安装的方式去安装python,比如
pip install python -i http://pypi.douban.com/simple/
国内常用的源地址有。
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:https://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
如果它一直报错,说找不到相应的版本。那大概率是安装地方有相应的损坏包。可以找到相应位置删除。
比如,你激活环境运行程序的时候,最开始的几行就是你的环境的地址,也包括了python的地址,你可以根据地址去找出来把它删除了,然后再安装就能安装上了。
如果你在view-command plaette-select interpreter中找不到你创建的相应虚拟环境。你需要退出vscode再次进入。
然后这时候你就能安装好你的python了。
(5)仍旧解决不了
看下面的或许有帮助
python 解决“ModuleNotFoundError“错误的万能方法_lingqing97的博客-CSDN博客_modulenotfounderror