前言
Python版本众多,从大版本的2到3,再到小版本的3.6到3.11。每个版本的特性都不太一样,包括pip的版本,包括pip install安装的第三方包的版本适配都不一样。
我们在工作中,不仅仅只有一个项目,比如一个A项目用的Django-3.2.18,另一个B项目又用的Django-4.2。那我们有时候需要来回切换使用这两个项目,直接运行的话肯定是不行的,那就需要一点工序来切换这两个项目。
从A项目切换至B项目在我之前的做法就是:
卸载 Django-3.2.18
pip uninstall django
安装 Django-4.2
pip install django==4.2
等待下载安装之后,正确的将B项目跑起来了,没一会,老板有要求切换回A项目,卧槽接下来再次重新执行刚才的流程。把自己累半死,效率downdown。
这还只是第三方包的版本,卸载重装勉强可以,但如果两个项目的Python版本不一样呢?难道也要重新卸载安装不同版本的Python呢?
这时候Anaconda的作用就体现出来了!!
那Anaconda到底是个什么东西呢?它为什么就可以解决上面的问题呢?
Python和包以及Anaconda的概念关系
基于自己对于这些概念术语之间的关系打一个小比方:
关于Python与包
- 包 =“工具”;
- 下载包 = “买工具”;
- 写程序 = “用工具做东西”(程序import导入)
关于Anaconda
- 环境 = “好比一栋楼,在楼里面分配一间屋给各种‘包’放,每间房里面的‘包’互不影响”
- 激活环境 = “告诉电脑,我现在要用这个屋子里面的‘包’来做东西了所以要进这间屋子”
- 移除环境 = “现在这个屋子里面我原来要用的东西现在不需要了把它赶出去节省电脑空间”
Conda创建环境相当于创建一个虚拟的空间将这些包都装在这个位置,我不需要了可以直接打包放入垃圾箱,同时也可以针对不同程序的运行环境选择不同的conda虚拟环境进行运行。
正文
本文将讲述如何优雅的使用Anaconda
安装Anaconda
如果选择在官网上下载的话, 可能会因为乌鸦喜欢写字台的原因,非常非常慢。于是我的母校(高考差200来分就考上了)准备了镜像下载地址,提供大家下载。
Anaconda清华大学镜像
选择符合自己的计算机的版本。
当然用我们就要用最新的版本。
值得注意的是,这个镜像网站的排序让人一言难尽,最新的版本不是最后一个,也不是第一个,它藏在中间,真是让人好一顿找啊。
下载完成后,双击运行。
注意注意再注意
我们可以自定义安装路径,而且最好是自定义安装路径,Anaconda可能在未来会变成一个和开放世界国产大型手游一样的大小。。
- 但是目标路径中不能含有空格,同时不能是“unicode”编码。
- 除非被要求以管理员权限安装,否则不要以管理员身份安装。
- 在“Advanced Installation Options”中不要勾选“Add Anaconda to my PATH environment variable.”
等待安装,这个安装时间真的很久很久很久。
当出现了这个页面,就证明Anaconda安装成功了!
然后我们手动添加下面的这些路径到系统环境变量。
前半部分的路径是每个人选择的安装路径,可能是不一样的。
后半部分则是Anaconda的文件结构,这个是每个人都一样的,如果不一样,那就证明你的Anaconda没有安装合适,重新安装解决。
接下来我们进入CMD
输入以下命令测试Anaconda是否可以正常运行。
conda -V
如果出现了版本号的返回信息,那就证明Anaconda已就绪,可以正常的运行。
使用Anaconda
创建conda环境
1. 不指定路径:conda create -n 创建环境的名字 python的版本
代码示例:
conda create -n condaEnviranmantPy37 python==3.7
2. 指定路径:conda create --prefix=环境的绝对路径 python的版本
代码示例:
conda create --prefix=D:ProgramData\anaconda\envs\condaEnviranmantPy37 python=3.7
激活conda环境
conda activate 环境名
代码示例:
conda activate condaEnviranmantPy37
激活之后CMD的每行指令前都会有一个标识,表示当前所在的环境
关闭conda环境
conda deactivate
代码示例:
conda deactivate
删除conda环境
某个环境我们已经用完,并且以后也不会再用,本着卸磨杀驴的原则,我们就需要删除conda环境
conda remove -n 环境名称 --all
代码示例:
conda remove -n condaEnviranmantPy37 --all
查看Anaconda环境列表
有时候我们需要查看我们自己创建的所有的Anaconda环境
这时候就用到了conda env list
命令
代码示例:
conda env list
每个Anaconda都会有一个基础环境,即为(base)。
如果我们进入Anaconda环境中再次使用该命令查看环境列表的话:
*
号表示当前在那个环境中。
讲到这里Anaconda的安装和基本使用基本上就这么多。
具体理由就是我们之后的项目所需要的库都是安装在一个venv的虚拟环境中,这个虚拟环境是跟着项目走的,就像是Maven的Pom一样,每个项目都有自己的虚拟环境。
具体请参见另一篇文章:从零编写一个Django项目
结语
Anaconda在这里我们仅仅作为一个Python版本控制工具使用,只需要创建一些常用的Python版本即可。需要用什么Python版本就进入对应的conda环境,十分的方便。
本文中主要讲述了使用命令行操作Anaconda,主要我想装作我很专业的样子。
双击运行Anaconda,它是有自己的GUI,上面的操作完全可以使用鼠标点点点的方式完成。
评论区