import torch 或其他包,但是Jupyter notebook 不显示的原因解决 | 解决Jupyter Notebook:no module named但实际已经pip install问题

解决Jupyter Notebook:no module named….但实际已经pip install 的问题

当在jupyter notebook 的内核中安装了某些包(如 import torch )但是jupyter notebook却显示没有该包,对此进行相关原因整理及解决。

  1. base 环境问题
    当我们安装了Anaconda 想要使用 jupyter notenook 的时候,这时候在终端(base环境)敲入 jupyter notenook 会跳转到 jupyter notenook 的网页端让我们使用。
    import torch 或其他包,但是Jupyter notebook 不显示的原因解决 | 解决Jupyter Notebook:no module named但实际已经pip install问题_第1张图片
    这时候网页端的右上角会显示已有的内核,当没有将自己在Anaconda下创建的虚拟环境导入 jupyter 内核的时候,base 环境内核显示为ipykernel,这时候也只有这一个,也可以在随意一个打开的 jupyter 文件中 kernel 看到内核

import torch 或其他包,但是Jupyter notebook 不显示的原因解决 | 解决Jupyter Notebook:no module named但实际已经pip install问题_第2张图片
import torch 或其他包,但是Jupyter notebook 不显示的原因解决 | 解决Jupyter Notebook:no module named但实际已经pip install问题_第3张图片
这个时候 import torch 会显示图1 的问题,我们只需要在 base 环境中安装pytorch 即可。

pip install torch==1.8.1+cu102 torchvision==0.9.1+cu102 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

或者转到 pytorch 官网进行下载https://pytorch.org/get-started/previous-versions/

当下载好相应的包以后,就可以直接使用。

  1. 虚拟环境问题————重要!!!
    ———添加虚拟环境作为Jupyter notebook内核,一定要进入在这个虚拟环境中进行添加。

一般时候我们会直接在 Anaconda 中创建虚拟环境,这时候使用jupyter直接导入虚拟环境作为内核会很方便,可以通过以下命令将虚拟环境导入到jupyter中

①首先查看jupyter下面有多少个kernels:
同时首先要确保环境中有ipykernel ipython 库,没有的话进行安装

# 安装ipykernel ipython
pip install ipykernel ipython

# 查看jupyter下面有多少个kernels
jupyter kernelspec list

②在Jupyter notebook中添加虚拟环境作为内核:

ipython kernel install --user --name pytorch1.6(虚拟环境名字)

一般这个时候再次查看jupyter下面有多少个kernels:会显示相关的虚拟环境已经添加进内核了
import torch 或其他包,但是Jupyter notebook 不显示的原因解决 | 解决Jupyter Notebook:no module named但实际已经pip install问题_第4张图片同时我们在jupyter的网页端也会显示相应的内核可以使用。

但是这时候,如果再次出现 ModuleNotFoundError: No module named 'torch' 没有相应的包的问题,是因为可能是在 base 环境中进行上面的 Jupyter notebook中添加虚拟环境作为内核 的操作,请记住一定一定一定要先激活进入想要添加的虚拟环境,在虚拟环境中将环境导入jupyter内核才可以!

conda activate pytorch1.6(虚拟环境名字)

# 在Jupyter notebook中添加虚拟环境作为内核:
ipython kernel install --user --name pytorch1.6(虚拟环境名字)

这时候重新开启jupyter基本上问题就能解决了。
③删除指定的 kernel的命令:

jupyter kernelspec remove pytorch1.6(虚拟环境名字)

你可能感兴趣的:(jupyter,pip,python,pytorch,经验分享)