问题描述:
我在Anaconda中除了base环境,还创建了一个专门使用PyTorch的虚拟环境,今天在Jupyter Notebook中去查看一个项目代码的时候,发现Jupyter是基于base环境运行的,找不到在PyTorch环境中安装的包,网上查找了一些文章,将在Jupyter Notebook中使用虚拟环境的步骤及碰到的问题总结一下
解决方案:
一、首先打开Anaconda Prompt,在base环境中安装nb_conda_kernels包,使用如下命令:
conda install nb_conda_kernels
安装结束后,进入Jupyter,选择这个conda,能够看到所有的虚拟环境
二、虚拟环境的使用
-
在虚拟环境中创建新的项目
点击New按钮,能够看到现有的虚拟环境情况,选择需要的环境
-
使用虚拟环境运行现有项目
点击Kernel按钮,选择Change kernel,选择现有项目需要运行的虚拟环境
三、按照一般网上找到的文章,安装了这个包之后就能够切换虚拟环境了,我还碰到了两个问题:
-
点击conda查看虚拟环境的时候,出现了一个报错:“EnvironmentLocationNotFound: Not a conda environment: D:\anaconda3\envs\anaconda3”
这个我在第二篇参考文章里找到了解决方案,这是conda的一个小bug,需要修改下代码,我的路径是anaconda安装目录下的“pkgs\nb_conda-2.2.1-py38_1\Lib\site-packages\nb_conda”,根据python的版本不同会稍有差异。
对“envmanager.py”文件进行修改,将原来的
return { "environments": [root_env] + [get_info(env) for env in info['envs']] }
修改为:
return { "environments": [root_env] + [get_info(env) for env in info['envs'] if env != root_env['dir'] ] }
添加了一句:
if env != root_env['dir']
,这样就能够对base环境的目录准确定位了 -
虽然从conda中能够看到虚拟环境了,但是在change kernel和new按钮下都找不到虚拟环境,这个是从第一篇参考文章里找到的解决方案,需要在虚拟环境里安装一个包ipykernel
我先切换到了虚拟环境,使用
activate 虚拟环境名称
然后在激活的虚拟环境下安装了ipykernel
conda install ipykernel
参考文章:
1.jupyter notebook中选择conda环境及其可能出现的问题解决
这篇文章写的非常详细,我只遇到了部分问题,所以文章中只总结了部分,有其他问题的童鞋可以参考,非常感谢作者
2.2018-10-02 Jupyter Notebook environment anaconda3 error
这篇文章解决了环境问题的报错