1.Anaconda3下载与安装
登录官网下载页面并根据自身条件选择合适的版本下载。这里我下载的是Anaconda3-2019.03-Windows-x86_64。另外,需要注意的是,出于一些原因,国内提供Anaconda镜像的源镜像站(包括清华和中科大)都不再提供其服务了。临时的解决办法可以参考我的另一篇博文。
下载好安装包后将其打开进行安装。
如果电脑有多个用户且希望所有用户都能用同一个Anaconda则选择“All Users”,如果只希望自己使用则选择 “Just Me”。
这里我选择的是一个自定义目录。
上边的默认是不勾选的。如果电脑安装了多个不同版本的Anaconda,则勾选上边可能会引发冲突。否则的话勾选不会造成太大的影响而且在cmd中可以直接使用conda命令。
点击“Install”进入安装(时间有些长,请耐心等待)。
顺便说一下,这个版本之前的Anaconda在安装进行到这一步时都会询问是否安装VSCode。不过现在Anaconda与PyCharm有了合作。所以……(我本人还是更喜欢用VSCode)
将两个默认勾选全部去掉,点击“Finish”,安装完成。
如果安装没有问题的话,那么应该能找到以下几个图标:
第一个是Anaconda的图形界面,可以让用户用更加“漂亮”的方式管理Anaconda。第二个和第三个都是管理Anaconda的命令行窗口。其中Powershell Prompt是这个版本新加入的,与传统的Prompt不同的是,它可以兼容Dos命令。第四个则是后面要用到的JupyterNotebook。
如果以上几个图标没有全部出现说明安装可能出现了问题,需要重新安装。
另外,如果安装成功,那么在Prompt中输入以下命令可以查看conda和python的版本信息:
conda -V
python -V
2.虚拟环境的配置
2.1什么情况下要用到虚拟环境?
举一个例子:假如我想在自己的电脑上同时安装pytorch和tensorflow,而且二者对应的python版本分别是3.6和3.7。此时如果不借助Anaconda,直接在电脑上安装两个不同版本的python,那么二者的相互切换会很麻烦,而且还很有可能引发一些不必要的冲突。但是如果在Anaconda中创建了两个虚拟环境,令其中一个安装python3.6而另一个安装python3.7,那么二者将不会产生冲突而且通过一些方法还能实现二者在不同平台上的自由切换(见后文)。
因此,如果你也有类似的需求,最好也要学会如何进行虚拟环境配置。
2.2查看环境信息
在命令行中输入以下命令:
conda info -e
命令行窗口将会显示目前的所有虚拟环境。
由于我们现在还没有创建任何虚拟环境,所以当前只有一个虚拟环境那就是我们在安装Anaconda时由它自动创建的环境。这个环境也叫“base环境”或者“root环境”。
2.3虚拟环境的创建、激活和关闭
假设我们现在想创建一个名字叫做“py36”的虚拟环境,它的python版本是3.6而不是base环境的3.7。
那么只需要在命令行中输入以下两个命令中的任意一个就能满足我们的要求:
conda create -n py36 python=3.6 # 该命令会创建一个没有任何库的虚拟环境
conda create -n py36 python=3.6 anaconda # 该命令会自动将anaconda所有默认库全部安装到虚拟环境中
系统将会提醒需要下载和安装的包,输入“y”以继续。
出现了红框中的信息说明新的虚拟环境已经创建完毕。再次查看环境信息可以发现多出了新的环境。
这里虽然我们已经创建好了一个虚拟环境,但是当前环境仍然是base环境。如果想要激活新的虚拟环境则要输入以下命令:
conda activate py36
另外,如果想要从这个环境中退出或者切换到其他环境。就必须要先将这个环境关闭。需要输入以下命令以关闭环境:
conda deactivate
可以发现激活虚拟环境是需要指明环境名称的,而关闭是不需要的。
现在,我们在现有的基础上进行如下操作,观察相应的效果,并注意红框处的变化。
2.4虚拟环境的克隆
假设我们在刚才的基础上,需要新建另一个名叫“ptenv”的虚拟环境来安装python版本为3.6的pytorch。当然,也可以使用刚才的方法重新下载安装。但是这样太过麻烦。既然已经有了一个python3.6的虚拟环境,那么直接复制一个同样的环境不就可以了吗?
因此,我们可以在base环境下用以下命令来实现虚拟环境的克隆从而创建新环境:
conda create -n ptenv --clone py36
再次查看环境信息可以发现我们需要的新环境已经创建好了。
2.5虚拟环境的删除
如果想删除某个已安装的环境(假设删除py36环境),只需输入以下命令:
conda remove -n py36 --all
3.不同平台中虚拟环境的切换
3.1VSCode
VSCode的虚拟环境切换可以说是最方便的。只要事先将每一个虚拟环境都正确创建即可。VSCode会自动识别可以使用的虚拟环境。
VSCode会在界面的左下角显示当前使用的虚拟环境。
可以从左下角红框中看出当前使用的是base环境。
如果想要切换环境,只需点击左下角红框处,界面上方就会显示出可以使用的所有虚拟环境。
可以发现,我们刚才创建的两个虚拟环境都可选择。
我们可以做一个简单的测试:在base环境下和py36环境下运行图片中的代码。
由于Anaconda在base环境中,已经帮我们预装好了numpy和matplotlib等库,因此在base环境中该程序可以正常运行。然而在py36环境中我们还没有下载安装以上库,因此尝试运行会出错。
3.2JupyterNotebook
3.2.1修改起始工作目录(初次使用JupyterNotebook时要做的设置)
如果在安装好Anaconda后直接打开JupyterNotebook,会发现起始的工作目录是我们在系统盘里面的用户目录。如果我们需要在某一个特定的目录下打开JupyterNotebook需要做以下设置。
首先,右击JupyterNotebook的快捷方式(注意:是快捷方式),点击属性。
将“目标”中的“%USERPROFILE%/”替换成自己的工作目录。这里我设置的工作目录是“D:\JupyterDocuments”。
选择应用后,再点开JupyterNotebook就会发现其初始工作目录已经切换成我们期望的目录了。
3.2.2环境切换设置
相比于VSCode,JupyterNotebook的切换设置则要复杂很多。首先我们先看一下设置前JupyterNotebook的情况。注意红框部分。
首先,打开Prompt,在base环境下输入以下命令:
conda install nb_conda
然后,将环境切换到希望JupyterNotebook可以切换到的环境中(例如之前创建好了的两个环境),在各自的环境下再分别输入以下命令:
conda install -n py36 ipykernel //在py36中输入
conda install -n ptenv ipykernel //在ptenv中输入
等待一段时间后,如果不出意外,设置也就完成了。
我们来看一下插件安装好后的对比效果。
我们再在不同的环境下做一下测试:查看不同环境下的系统路径。
4.Anaconda Navigator
打开Anaconda Navigator,可以发现上文所提的VSCode等工具都可以通过其安装。
另外,在左侧的“Environment”中也可以实现对于虚拟环境的管理,效果同上文内容。