Anaconda实际上是一个包管理器,可以理解为一个工具。Anaconda自带Python(选中版本)解释器以及其他一些数据分析与挖掘需要的模块而无需用户手动添加这些常用模块(安装模块会出现各种错误)。早期学Python时,我并没有觉得手动安装需要的模块有多麻烦,手动安装更有利于对Python解释器整体结构的理解,但是后来开始接触一些项目的时候才发现Anaconda的最核心功能。
Anaconda的核心功能在于环境管理,Anaconda可以创建虚拟环境,虚拟环境可以拥有自己的Python解释器以及一些其他的包模块,这非常有利于我们在实验不同项目时环境的切换。Anaconda的虚拟环境保存在安装路径的envs文件夹下,相关Python解释器路径和安装的模块都存放在此路径下。基于此,我们便可以在不同的虚拟环境中配置不同的Python解释器,包括Python2或Python3。
下载链接: 清华镜像园下载链接.
安装:傻瓜式安装,跟着步骤来就可以了。
安装完成后,熟悉Python和Java的朋友们可能会发现,系统环境变量中并没有Python的解释器,但是我们在命令行输入Python时却可以执行Python命令?
这一原因便是在Anaconda的安装目录中就包含Python解释器执行文件,Python命令执行的便是Anaconda提供的Python解释器。
命令如下(示例):
注:若在cmd窗口中不能执行activate命令则说明在安装时没有将Anaconda的载入环境变量,则需要通过在conda prompt环境下完成。
conda env list
#或者
conda info -e
在DOS命令窗口下输入以上命令可以输出当前Anaconda所拥有的的虚拟环境,显示如下,其中base为Anaconda基础环境(安装时拥有的环境),而OpenNMT_test为新创建的虚拟环境。如图中的符号 符号*表示为当前应用的环境。
命令如下(示例):
注:该命令只适用于Windows环境;“environment_name”是要创建的环境名;“python=X.X”是选择的Python版本
conda create -n environment_name python=X.X
命令如下(示例):
(conda) activate your_env_name (尽量加上conda)
Windows: activate your_env_name(虚拟环境名称)
Linux下:conda activate your_env_name(虚拟环境名称)
在DOS命令窗口下执行激活虚拟环境后会进入虚拟环境的命令目录,在此命令窗口执行的都是虚拟环境的解释器和模块。
命令如下(示例):
注:该命令只适用于Windows环境;“your_env_name”是要需要安装模块的环境名。
conda install -n your_env_name [package]
例如: conda install -n OpenNMT_test pandas
也可以在激活环境命令窗口调用激活环境的pip命令安装模块
pip install numpy
如下图所示:在激活命令窗口:"(OpenNMT_test) C:\Windows\system32>"下调用pip命令安装numpy模块。
此时便可以在虚拟环境下的包存放路径下找到指定的模块文件。
命令如下(示例):
注:该命令只适用于Windows环境;“your_env_name”是要需要安装模块的环境名。
conda remove --name your_env_name --all
例如: conda remove --name OpenNMT_test --all
相信了解Python的朋友们已经发现,名义上Anaconda的虚拟环境本质上在计算机中都是存在的,由此PyCharm是可以使用这些解释器并调用这些模块的。使用方式如下:
在PyCharm项目解释器设置时选中指定虚拟环境即可
无论是在哪个激活的虚拟环境下执行jupyter notebook命令打开编辑窗口都只能看到jupyter notebook使用的是base环境(如下图所示),这是因为并不是所有的虚拟重新安装了jupyter notebook编辑器,所有环境都是共用一个编辑器就和pycharm一样。
那么如何在jupyter notebook中使用虚拟环境呢?为了让Jupyter Notebook支持虚拟运行环境,需要在Anaconda里安装一个插件。
具体步骤如下:
1.在base环境下安装nb_conda_kernels模块,(可以直接在cmd命令下安装,base环境为默认环境,不需要激活)
2. 激活相应的虚拟环境
3. 然后在该环境命令下安装nb_conda_kernels模块
如下图:
安装成功后,这个时候如果没有在base环境下安装nb_conda_kernels模块则必须通过激活相应的虚拟环境命令行下打开jupyter notebook编辑器,才能可看到虚拟环境内核。所以需要对每一个虚拟环境都安装nb_conda_kernels模块才能使得jupyter notebook在任意虚拟环境中自由切换。
注意:使用激活的虚拟环境命令行打开jupyter notebook编辑器时可以直接看到所有虚拟环境,而无需对所有虚拟环境都安装nb_conda_kernels模块
对于已经创建的文件,可以通过切换内核来修改文件的执行环境。
Anaconda非常适用于环境管理,尤其是当需要切换不同环境项目的时候,推荐各位还没有用上Anaconda的朋友们赶紧用起来吧。