一、说明
Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。anaconda虚拟环境管理就是使用其中的conda。conda是一款极为特殊的环境管理工具,之所以说它特殊,conda的设计思想——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。也就是说说,在进行虚拟环境管理时,conda可以独立于系统原有的Python版本而创建任意版本的Python解释器。
二、使用步骤
1、操作为Prompt窗口
2、查看虚拟环境
可以查出每个虚拟环境的地址并方便使用不同的环境,在pycharm等运行环境中配置。
(py3) PS C:\Users\lenovo> conda env list
# conda environments:
#
base D:\tools\Anaconda\installAnaconda3
py3 * D:\tools\Anaconda\installAnaconda3\envs\py3
D:\tools\anaconda3\envs\spark-python
(py3) PS C:\Users\lenovo>
上述结果列出了当前系统中所有conda创建的虚拟环境,即环境所在目录。base是安装anaconda时指定安装的Python环境。型号(*)是指系统当前说还是用的Python环境。
3、创建虚拟环境
conda create -n env_name python=version package_names
其中,参数-n是指接下来的参数指定虚拟环境名,也可以写成--name等效,所以python36即为指定的将要创建的虚拟环境名。python=version是为虚拟环境指定Python版本,
指定版本后,conda会安装该版本下最新的子版本,例如指定版本为3.7时,conda将会安装最新的3.7.x版本。package_names是要为新的虚拟环境创建时就安装的包,这里也
可以不安装其他包,省略这一参数,在后续使用虚拟环境时安装第三方包。
例:创建一个虚拟环境,Python版本为3.7,虚拟环境名为python37
conda create --name python37 python=3.7
(py3) PS C:\Users\lenovo> conda env list
# conda environments:
#
base D:\tools\Anaconda\installAnaconda3
py3 * D:\tools\Anaconda\installAnaconda3\envs\py3
python37 D:\tools\Anaconda\installAnaconda3\envs\python37
D:\tools\anaconda3\envs\spark-python
(py3) PS C:\Users\lenovo>
4、退出虚拟环境
conda deactivate
5、激活/进入虚拟环境
(base) PS C:\Users\lenovo> conda activate python37
(python37) PS C:\Users\lenovo>
如果进入到虚拟环境python37,之后的命令行抬头都会有一个“(python37)”的字样。
6、包管理
##安装包
conda install package_name || pip install package_name
##列出所有包
conda list
##更新包
conda update package_name
##更新所有包
conda update --all
##查找包
conda update --all
例如:我们要安装pandas,但是忘了准确名称,可以这样查找:conda search pan
##删除包
conda remove package_name
7、共享虚拟环境
什么是共享虚拟环境呢?当我们在本机上开发了一套代码,然后将代码上传到github或者发给项目组其他人,这是别人可不知道我们开发的代码上面用到了哪些依赖,conda提供了方便得功能将虚拟环境中所有依赖包统一导出一个配置文件中,在别的机器上使用这套代码时,根据conda导出的配置文件重建虚拟环境即可,这就是共享虚拟环境功能。在多人协作开发及开源的情况下,共享虚拟环境无疑是一个非常实用的功能。
##导出依赖到配置文件
(python37) PS C:\Users\lenovo> conda env export --file python37_env.yml
.yaml是导出依赖的目标文件,运行命令后,当前目录(C:\Users\lenovo)下就会生成一个python37_env.yml文件,包含了所有依赖信息。
##根据配置文件创建虚拟环境
conda env create -f /home/chb/code/python37_env.yml
##删除虚拟环境
conda remove -n python37 --all || conda env remove -n python37