在本地的Anaconda启动jupyter,使用过程中,出现了ModuleNotFoundError: No module named ‘torch‘ 或者 No module named ‘torchvision’,很明显缺少三方库,然后对应安装三方库。
再次运行还是相同错误,到底什么问题呢?
找问题
使用anaconda3安装了pytorch,在anaconda prompt中激活新创建的环境之后,import torch是没有问题的!
但打开jupyter notebook 之后,import torch,又显示“No module named torch”。
?????
这又怎么回事呢,我们知道Anaconda有多个 conda 虚拟环境,在使用jupyter notebook时需要使用其中的一个环境,但是其默认还是使用 base 环境。而我们base环境很有可能没安装对应的库,
那么
我们该怎么切换环境呢。
解决方法
Jupyter 在一个名为 kernel 的单独进程中运行用户的代码。kernel 可以是不同的 Python 安装在不同的 conda 环境或虚拟环境,甚至可以是不同语言(例如 Julia 或 R)的解释器。
如何使用 conda 环境和 Jupyter 有三种方法:
1. 在 conda 环境中运行 Jupyter 服务器和内核
conda create -n my-conda-env # creates new virtual env
conda activate my-conda-env # activate environment in terminal
conda install jupyter # install jupyter + notebook
jupyter notebook # start server + kernel
这种方法就是为每一个 conda 环境 都安装 jupyter。
Jupyter 将完全安装在 conda 环境中。不同版本的 Jupyter 可用于不同的 conda 环境
2. 为 conda 环境创建特殊内核
conda create -n my-conda-env # creates new virtual env
conda activate my-conda-env # activate environment in terminal
conda install ipykernel # install Python kernel in new conda env
ipython kernel install --user --name=my-conda-env-kernel # configure Jupyter to use Python kernel
jupyter notebook # run jupyter from system
只有 Python 内核会在 conda 环境中运行,系统中的 Jupyter 或不同的 conda 环境将被使用——它没有安装在 conda 环境中。
通过调用ipython kernel install将 jupyter 配置为使用 conda 环境作为内核.
3. 使用 nb_conda_kernels 添加所有环境
第二种方法其实有个缺点是,你新建一个环境,就要重复操作一次。
而这个方法就是一键添加所有 conda 环境:
conda activate my-conda-env # this is the environment for your project and code
conda install ipykernel
conda deactivate
conda activate base # could be also some other environment
conda install nb_conda_kernels
jupyter notebook
注意:这里的 conda install nb_conda_kernels 是在 base 环境下操作的。
安装好后,打开 jupyter notebook 就会显示所有的 conda 环境啦,点击随意切换。
文章出处登录后可见!