刚开始接触python时接触到了Anaconda,但是不太清楚到底是干嘛用的。现在大概的解释一下它到底是个什么东西。首先我们了解一下Anaconda诞生的目的然后再说它常用的一些命令。

  • Python

我们应该知道python代码是运行在python解释器的基础上的,解释器根据python的版本大概分为2和3。 python2和3之间无法互相兼容, 也就是说用python2语法写出来的脚本不一定能在python3的解释器中运行,而且python有许多已经封装好的第三方包库供我们使用,比如Pillow,以及MySQL驱动程序,Web框架Flask,科学计算Numpy等。

python2 or python3?

python2和python3在语法上是不兼容的, 那我的机器上应该装python2还是python3呢, 可能一开始选一个学习就好了, 但是如果你要开发的程序必须使用python2而不能使用python3,那这时候你就不得不再下载一个python2, 那这时候环境变量该设谁的目录呢, 如果还是切换环境变量岂不是很麻烦?

如果我在本地只有一个python环境那我所有程序用到的各种包都只能放到同一个环境中, 导致环境混乱, 另外当我将写好的程序放到另一电脑上运行时又会遇到缺少相关包, 需要自己手动一个个下载的情况, 实在是烦人, 要是能每个程序开发都选用不同的环境, 而开发好之后又能将该程序需要的环境(第三方包)都独立打包出来就好了。接下来就该Anaconda上场了!

  • Anaconda

 官网下载

按照提示一步步安装好后就可以了。

如果是windows的话需要去 控制面板\系统和安全\系统\高级系统设置\环境变量\用户变量\PATH 中添加 anaconda的安装目录的Scripts文件夹, 比如我的路径是D:\Software\Anaconda\Scripts, 看个人安装路径不同需要自己调整。之后就可以打开命令行(最好用管理员模式打开) 输入 conda --version 如果输出conda 4.4.11之类的就说明环境变量设置成功了。为了避免可能发生的错误, 我们在命令行输入conda upgrade --all 先把所有工具包进行升级。

创建自己的虚拟环境

我们当然不满足一个base环境, 我们应该为自己的程序安装单独的虚拟环境。创建一个名称为learn的虚拟环境并指定python版本为3(这里conda会自动找3中最新的版本下载)

conda create -n learn python=3

于是我们就有了一个learn的虚拟环境, 接下来我们切换到这个环境, 一样还是用activate命令,要退出虚拟环境,用deactivate命令。安装好的环境在Ancaonda安装目录下的envs文件加下。 

安装第三方包

当你在python解释器中输入

>>> import requests

会报错找不到request包 

退出python解释器,打开命令行

输入:

conda install requests

或者:

pip install requests

来安装request包。安装完成之后我们再输入python进入解释器并import requests包, 这次一定就是成功的了。

  • 常用命令

命令 解释
activate 切换到base环境
activate learn 切换到learn环境
conda create -n learn python=3  创建一个名为learn的环境并指定python版本为3(的最新版本)
conda env list 列出conda管理的所有环境
conda list

列出当前环境的所有包

conda install requests 安装request包
conda remove requests 卸载request包
conda remove -n learn --all 删除learn环境及下属所有包
conda update requests 更新request包
conda update --all 更新所有包
conda env export > environment.yaml 到处当前环境的包信息
conda env create -f environment.yaml  用配置文件创建新的虚拟环境

现在你是不是发现用上anaconda就可以十分优雅简单的解决上面所提及的单个python环境所带来的弊端了呢, 而且也明白了其实这一切的实现并没有那么神奇.

当然anaconda除了包管理之外还在于其丰富数据分析包, 不过那就是另一个内容了, 我们先学会用anaconda去换一种方法管里自己的开发环境, 这已经是一个很大的进步了