Anaconda虚拟环境+jupyter内核配置(详解)

Posted GJ_WL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Anaconda虚拟环境+jupyter内核配置(详解)相关的知识,希望对你有一定的参考价值。

1.Anaconda虚拟环境查看

安装好anaconda环境后,有两种方式可以查看虚拟环境:

第一种:
打开anaconda,如图所示即可查看。

第二种:
打开Anaconda Prompt,输入

conda env list 


如图所示,base环境即是当前的环境,TensorEMG是我创建的环境,base环境是下载好anaconda后自带的环境。

2.为什么要装虚拟环境

base环境是anaconda中自带的环境,其中有许多默认的库,具体可以通过在base环境下输入conda list查看。

conda list

那么为什么需要创建虚拟环境呢?
我的理解是,比如我们要做深度学习,需要安装tensorflow、pytorch等库,这其中就存在库的相互依赖的问题,base环境中的库已经很多了,有可能和我们要安装的库存在冲突等问题,这也是我们在用pip命令无脑安装库时容易出现各种奇怪的bug的原因。
那怎么办呢?虚拟环境就为我们解决了这个问题,其实虚拟环境这个名字听着不够直白,说白了就是再创建一个或多个类似于base一样的环境。比如我们要用tensorflow做深度学习,那我就可以创建一个虚拟环境,当这个环境刚创建好的时候,里面基本上没有什么库,东西很少,在它的基础上,我们就可以安装各种库,在运行程序的时候只需要选择对应的环境就行。同理,要用pytorch搞深度学习,那就再创建一个对应的虚拟环境就好。

3.如何创建虚拟环境

打开Anaconda Prompt,输入如下命令:

conda create -n name(要创建的虚拟环境的名字) python=3.8

上述代码是创建一个名字为name,python版本是3.8的虚拟环境,输入回车即可。
比如我们创建一个名字为mydemo,python为3.7的虚拟环境:

conda create -n mydemo python=3.7

如图所示,表示环境创建成功,通过如下命令进入该环境:

conda activate mydemo


如图,表示进入该环境,通过conda list可以查看该环境下的库:

如果想要删除虚拟环境,输入以下命令即可:

conda remove -n your_env_name --all

现在就可以在该环境下通过pip或conda安装相关的库了。一般需要先安装Tensorflow不易出错!
以tensorflow的库为例:
参考:通过清华镜像网站快速安装tensorflowhttps://blog.csdn.net/jorg_zhao/article/details/80075293
注意安装和管理包时,conda和pip的不同之处,这是个坑!!pip list 和 conda list的不同

cpu版本,安装最新版本:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow 
cpu版本,安装指定版本:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ tensorflow==2.3.0 

4.配置jupyter notebook内核

在我们刚刚创建的虚拟环境下,安装ipykernel库,利用ipykernel库将该虚拟环境写入到jupyter中。
首先,在当前环境下安装ipykernel库,输入:

conda install ipykernel


然后,在当前环境下将该环境写入jupyter,输入如下:

注意:name后跟当前环境名
python -m ipykernel install --user --name mydemo --display-name mydemo


表示已经将该虚拟环境添加到jupyter的内核中去了,再输入jupyter notebook就可以进入jupyter notebook。

可以看到刚刚添加的mydemo虚拟环境的内核已经在了,这里面还有几个虚拟环境是我之前装的,可以选择mydemo为当前内核,我们导入之前安装的tensorflow,可以看到导入成功,版本为2.3.0,python版本为3.7。

至此,Anaconda虚拟环境+jupyter内核配置完毕,想要安装什么库,只需要在Anaconda Prompt下进入对应的虚拟环境进行安装即可。注意,如果存在有的库安装失败,通过上网查找也是可以解决的。

5.补充

1.conda常用命令
参考:Conda 常用命令:https://blog.csdn.net/u010414589/article/details/107441469
2.jupyter notebook 内核常用命令
在cmd或Anaconda Prompt都可以运行

//查看 Jupyter notebook kernel
jupyter kernelspec list
//删除 jupyter 内核
jupyter kernelspec remove kernelname

后记

其实这块最容易出错的地方就是安装库的时候,根据错误上网能查到各种各样的答案,但是往往解决了这个错误又出现了别的错误,而且有的答案写的根本看不明白,或者说他的答案仅仅能够解决他的问题,不具有普遍性。经过大半天的挣扎,我发现其实这个过程就是一个python解释器再加各种库的安装,出现简单问题还好解决,复杂问题真的很让人头疼,最主要的是浪费大量时间!而虚拟环境就能够完美解决这个问题,既然这个环境被我玩坏了,装了乱七八糟的东西,报了各种各样的错误,那大不了我再新建一个环境玩嘛,大不了就是重新装库,其实重新装库的时间和改bug的时间差不多,而且下载慢的那些库都可以通过镜像网站快速下载,但是改bug让人心累啊,重装解决一切问题。
以上是我自己的一些浅薄认识,主要是记录一下,免得下次再遇到这样的问题!

补充:Anaconda 创建 32 位 Python 环境
Anaconda 创建 32 位 Python 环境

Jupyter 使用Anaconda 虚拟环境内核

Anaconda 虚拟环境中使用Jupyter Notebook

安装好Anaconda之后,进入Anaconda Prompt,创建虚拟环境,env_name是创建的环境的名字。

conda creat -n env_name python=3.9

等虚拟环境搭建好之后,激活环境。

conda activate env_name 

Anaconda自带了Jupyter,想要使用虚拟环境的内核,需要用到ipykernel。在虚拟环境中先安装这个库。在这里使用清华园的镜像。装包习惯用pip…

pip install ipykernel -i https://pypi.tuna.tsinghua.edu.cn/simple

接下来将虚拟环境加入到Jupyter中:

python -m ipykernel install --name env_name

如果安装成功会出现以下信息,zane即虚拟环境名。

Installed kernelspec zane in C:\\ProgramData\\jupyter\\kernels\\zane

然后退出虚拟环境:

conda deactivate

在base环境中启用jupyter notebook,就能看见可以切换内核了。(conda env: 是安装nb_conda_kernels 关联的所有conda环境)。

显示Jupyter 中所有内核:

jupyter kernelspec list

删除指定内核:

jupyter kernelspec uninstall env_name

nb_conda或者nb_conda_kernels 用于conda 环境的适配。刚开始搭虚拟环境中的jupyter的时候,安装这两个包总出问题,opensll的相关问题。根据网上帖子,删除了配置的镜像通道之后,才装上。但发现使用ipykernel是同样的效果。虚拟环境不多的情况下,单独配置以下也还好。

然后就可以直接从base环境中启动Jupyter notebook,然后切换内核进行使用。

torch环境:torch-gpu 我一直是先下载对应版本的whl,然后本地pip install,这样效率会高一点儿。torch官网对应的命令下载 https://pytorch.org/get-started/previous-versions/ 以及whl下载地址:https://download.pytorch.org/whl/torch/

paddlepaddle:

以上是关于Anaconda虚拟环境+jupyter内核配置(详解)的主要内容,如果未能解决你的问题,请参考以下文章

jupyter notebook 内核配置

jupyter notebook 虚拟环境配置

jupyter notebook添加Anaconda虚拟环境的python kernel

图解Windows10下如何更换Jupyter Notebook 内核Python版本(切换原始的python环境)

Aanconda+虚拟环境+jupyter notebook配置

Python学习-配置jupyter和虚拟环境