PyCharm找不到包?一文解决 No module named报错~

发布于:2025-03-22 ⋅ 阅读:(12) ⋅ 点赞:(0)

Python对于新手来说,和Java、C++的两大不同是:一方面Python需要频繁的安装扩展包,而后两者无论是包还是头文件则可以很轻松地导入。另一方面,Python在电脑上可能有多个环境或解释器不同环境下的包并不是通用的,这样会导致用户误以为自己安装好了包却不能用~然后就会大量报错:ModuleNotFoundError: No module named 张三李四......

目录

一.为什么PyCharm找不到包?

二.配置本地的Python解释器

三. Anaconda的Jupyter编辑器

四.PyCharm和Anaconda混合


一.为什么PyCharm找不到包?

import pandas as pd
data=[[1,2,3,4,5],[6,7,8,9,10]]
df = pd.DataFrame(data)
print(df)
df.to_excel('D:\\output1.xlsx', index=False)

如上这段代码, 实际上是实现一个将列表转换为Excel中矩阵的功能,然后运行后报错没有找到pandas:

这时可能很多小伙伴会进入到cmd中使用pip list命令,理直气壮的说我已经装了pandas了啊?

实际上,这个pandas是在你手动下载的解释器里面,也即目录中的python.exe解释器

而在PyCharm的terminal终端中再次键入pip list命令,发现并没有所谓的pandas!

在这里执行pip install pandas,然后就可以下载成功并运行了!(当然还有一个openpyxl包别忘了哦~

这次没什么问题:

 

二.配置本地的Python解释器

实际上,这种情况可以用一个笑话来形容:你们抓的是周树人,和我鲁迅有什么关系?

玩笑归玩笑,cmd中看到的安装好的包,是用户手动配置好的那个——实际上这是因为在环境变量中添加了Path,这样就能在cmd中的c盘入口看到当时任意位置装好的那个Python解释器了。

而在这个项目中,我们用的并不是这个自己装好的解释器,你可以理解为PyCharm自带的一个——也即只在当前目录或者说是环境下有效。点击PyCharm的右下角就能看得很清楚:

 

左下角第三个按钮,可以看到当前环境下安好的包

显然这样每一个项目都要单独安装一次的情况太麻烦,这时我们就要将自己安装的Python解释器作为PyCharm的解释器。进入到interpreter Setting中:

 

和目录显示的一样,此时我们的解释器只是一个当前项目独立自带的一个

 

而这些包和我们自行安装的全局解释器也不同。在PyCharm中有时会直接爆红未安装的包,如果此时你选择用Alt+Enter键进行安装,也只能安装到当前的目录下,并不能安装到全局的解释器!

选择添加本地解释器:

 

然后勾选系统解释器,选择我们自行安装的python.exe文件路径

然后换好之后,发现已经安装好的包立马就不一样了!

此时cv2也即OpenCV的包也不再提示报错:

 

 并且这些包和我们cmd中查看的一模一样!

 

为了验证正确性,我们在终端中执行pip uninstall pandas卸载了pandas:

 

这时我们依旧可以成功运行!

这是因为我们在PyCharm的terminal中卸载或者安装的,还是之前所谓的那个自带的虚拟环境!而我们自己装的系统解释器,并不受影响~

有道是:不识庐山真面目,只缘身在此山中~

三. Anaconda的Jupyter编辑器

虽然多数情况下我们喜欢用PyCharm作为python开发的IDE,不过如果是临时的小项目,倒是有些杀鸡焉用牛刀的意味,这时很多选手选择使用python下载好后自带的命令行工具,也即IDLE~

然而前者过于简陋,在众多Notepad中,Anaconda集成的Jupyter是一个不错的选择,进入官网下载安装包,现在的最新版本已经达到3.12。如果问我Anaconda是什么,其实也是一种python解释器或者说环境,好处在于自己本身就集成了很多科学计算类的库,不需要我们一个一个下载了。

安装好后有两个可执行程序需要关心,如下——可以在自己的快捷页面中找到:

先进入下面的命令行工具,执行pip list,发现Anaconda本身集成了非常多的包,不需要频繁额外下载~

然后就是Jupyter编辑器,点击后会出现如下页面:

然后跳转到浏览器页面——如果没有自动跳转,人为干预一下即可,浏览器键入http://localhost:8888/tree。和Tomcat一样,都是本地的端口号

然后即可愉快运行:

总的来说,对于小规模的开发来说,PyCharm并非唯一的选择~ 

四.PyCharm和Anaconda混合

Anaconda本质上也存在python解释器,我们去目录里面找一目了然:

同样是在解释器的设置界面,我们可以将conda环境设置为当前解释器的路径,这样我们就又多了一种解释器选择。不难看到,Anaconda的包确实有先天显著优势:

总的来说,推荐各位使用自己装好的python解释器或者Anaconda的解释器来作为PyCharm的默认解释器,这样可以极大得提高开发效率和资源管理的简洁性~