问题描述

Pycharm中编辑.ipynb文件时,发现新安装的包在文件中引入时总是显示找不到。
在这里插入图片描述
Pycharm中查看我当前虚拟环境安装的包发现是有seaborn这个包的:
在这里插入图片描述
此时我在Pycharm中创了个.py文件来做对照,结果发现导入成功了:
在这里插入图片描述

排查问题

现在情况是这样:下载的包只在jupyter中导入失败,在python file中可以成功导入,那么可以初步判断不是当前解释器的问题。

接着我以为对于新安装的包,jupyter的kernel没有更新,这也可能会导致引入失败,所以尝试restart kernel,试了好几次还是不行。
那么应该就不是kernel没更新的问题了,于是在网上搜了一下,发现有类似的情况。
相关问题链接: jupyter无法导入已安装的包?原因竟是它!
他的解决方法对我并没有起作用。但是他提醒了我一点:

jupyter kernelspec list

Anaconda Prompt中使用这个命令可以查看当前环境的jupyter kernel地址。
在这里插入图片描述
一查就发现问题所在了,我用的jupyter kernel不是我在Pycharm中使用的虚拟环境中的。

在这里插入图片描述
我在网上搜了一些问题,发现网上说可以从红框的位置修改kernel,但是我这里不知道为什么不行。
在这里插入图片描述
我现在使用的环境名为itdk-as,但是在之前某次写课程实验的时候把anconda的默认激活环境修改成了py39这就是问题所在!!!

经过测试发现,就是因为我设置了anaconda默认激活py39这个环境,导致我在Pycharm中使用jupyter时它直接默认使用py39的kernel.所以现在就只需要修改默认激活环境即可。

如何修改Anaconda默认激活环境(Windows下)

在这里插入图片描述
找到Anaconda的安装路径,切换到/Anaconda/Scripts/目录,找到activate.bat文件。
在这里插入图片描述
这一行代码的功能就是在anconda启动的时候默认激活py39这个环境。
所以现在改成我要使用的itdk-as即可。
在这里插入图片描述
保存修改后,当再次启动Anaconda时,就会默认激活itdk-as这个环境。

问题解决

按照上面修改完Anaconda的默认激活环境后。重启Pycharm,再次运行.ipynb文件:
在这里插入图片描述
大功告成!!!

说明:红框中kernel名字变了,这是我在/Anaconda/envs/环境名/share/jupyter/kernels/python3/文件夹下的kernel.json文件中修改了kernel的名字。
在这里插入图片描述
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐