玩深度学习一年多的时间了,开发环境慢慢从PyCharm转向了更加轻量的VsCode,而最近因为要学一些课程需要用到jupyter,之前也知道这个好东西,但是一直没用的机会。这篇文章主要记录了使用jupyter notebook时要切换到特定的anaconda虚拟环境时的解决方法。
以下的操作基于的操作系统为Ubuntu 16.04 LTS。
jupyter notebook中多版本的python即虚拟环境称为kernel,所以要切换虚拟环境,也就是切换kernel。相信大家搞深度学习相关的都知道使用Anaconda来管理虚拟环境,而在你装Anaconda的时候已经自动帮你装好了jupyter notebook,所以你只需在终端中输入命令jupyter notebook
便可以启动notebook服务,在浏览器中会自动打开notebook页面地址:http://localhost:8888。像下面图片中一样,在右侧点击“New”(新建),创建新的 notebook、文本文件、文件夹或终端。“Notebook:”下的列表显示了你已安装的内核,这时候显示的内核是对应你默认的base环境的。这里看不到Anaconda中装的其他虚拟环境,是因为虚拟环境中缺少kernel.json文件
但是我们的base环境一般是不会装其他的一些包的,里面的都是安装Aanconda时自动安装的python环境包,所以如果我们要在jupyter notebook做一些特定框架下如pytorch的开发,我们就得在有pytorch的虚拟环境中安装jupyter的kernel,然后在jupyter中就可以切换kernel也就是虚拟开发环境了。
第一步:创建一个新的虚拟环境,这里我电脑已经有了一个装有torch的环境AAA,为了不污染这个环境,我直接复制AAA环境中的包到环境BBB中:conda create -n BBB --clone AAA
第二步:在虚拟环境下创建kernel:conda install -n BBB ipykernel
第三步:激活虚拟环境:source activate BBB
第四步:将该虚拟环境写进notebook的kernel中:python -m ipykernel install --user --name BBB --display-name "python deep_pytorch"
这时你在base环境中输入jupyter notebook
打开notebook,点击右上角的"new",这时“notebook:”列表下便会显示两个kerbel名称了。(这里要注意只能在base环境中打开jupyter notebook,因为只有base环境中装了它,虚拟环境中并没有装,而只是装了它的kernel)
还有一个tip是如果在代码编辑界面想要更改kernel,直接点击菜单栏的“Kernel”,接着点击"change kernel",选择你想要的kernel即可。
参考博客:
[1]在anaconda中新建环境,并在jupyter notebook添加kernel
[2]Conda环境移植(克隆)的方法
[3]jupyter notebook 可以做哪些事情?
[4]最省心的Python版本和第三方库管理——初探Anaconda