anaconda笔记:conda的各种命令行操作

anaconda是一个开源的包、环境管理器,可以比较有效地配置多个虚拟环境,当python入门到一定程度时,安装anaconda是很必要的。前段时间室友学习python的时候问到过我一些相关的问题,我就在这里简单写一些我知道的以及我搜集到的知识。


环境变量

安装anaconda过程中一个很重要的步骤就是配置环境变量,网上有很多手动添加环境变量的教程,其实很简单,只需添加三个路径,当然更简单的是直接在安装的时候添加到path(可以无视warning)。我想在这里写的是环境变量的概念问题,其实直到不久前帮同学安装我才明白。
环境变量是指在操作系统中用来指定操作系统运行环境的一些参数。当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还会到path中指定的路径去找。这就是为什么不添加C:\Users\用户名\Anaconda3\Scripts到path就无法执行conda命令,因为此时conda.exe无法被找到。


conda与pip

利用conda installpip install命令来安装各种包的过程中,想必你也对两者之间的区别很疑惑,下面我就总结一下我搜集到的相关解答。
简而言之,pip是python包的通用管理器,而conda是一个与语言无关的跨平台环境管理器。对我们而言,最显着的区别可能是这样的:pip在任何环境中安装python包,conda安装在conda环境中装任何包。因此往往conda list的数量会大于pip list。
要注意的是,如果使用conda安装多个环境时,对于同一个包只需要安装一次,有conda集中进行管理。
但是如果使用pip,因为每个环境安装使用的pip在不同的路径下,故会重复安装,而包会从缓存中取。
总的来说,我推荐尽早安装anaconda并且使用conda来管理python的各种包。


升级

我们可以在命令行中或者anaconda prompt中执行命令进行操作。

1
2
3
conda update conda #升级conda
conda update anaconda #升级anaconda前要先升级conda
conda update --all #升级所有包

在升级完成之后,我们可以使用命令来清理一些无用的包以释放一些空间:

1
2
conda clean -p #删除没有用的包
conda clean -t #删除保存下来的压缩文件(.tar)


虚拟环境

conda list命令用于查看conda下的包,而conda env list命令可以用来查看conda创建的所有虚拟环境。

下面就简述一下如何创建这些虚拟环境。
使用如下命令,可以创建一个新的环境:
conda create -n Python27 python=2.7
其中Python27是自定义的一个名称,而python=2.7是一个格式,可以变动等号右边的数字来改变python环境的kernel版本,这里我们安装的是python2.7版本(将于2020年停止维护)。
在anaconda prompt中,我们可以看到我们处在的是base环境下,也就是我安装的python3环境下,我们可以使用下面两个命令来切换环境:

注意:如果直接在ubuntu的命令行中切换环境,需要加上conda,比如conda activate 环境名

在创建环境的过程中,难免会不小心取了个难听的环境名,别担心,我们有方法来删除环境。
conda remove -n 难听的名字 --all
有时候一个环境已经配置好了,但我们想要重命名,这怎么办呢?可以这样办:

1
2
conda create -n 新名字 --clone 老名字
conda remove -n 老名字 --all

把环境添加到jupyter notebook

首先通过activate进入想要添加的环境中,然后安装ipykernel,接下来就可以进行添加了。

1
2
pip install ipykernel
python -m ipykernel install --name Python27 #Python27可以取与环境名不一样的名字,但方便起见建议统一

我们可以使用jupyter kernelspec list来查看已添加到jupyter notebook的kernel。
显示如下:

我们也可以在jupyter notebook中的new或者kernel下查看新环境是否成功添加。
若想删除某个指定的kernel,可以使用命令jupyter kernelspec remove kernel_name来完成。
在这里我想说明一下为什么要分开python的环境。
由于python是不向后兼容的,分开环境可以避免语法版本不一引起的错误,同时这也可以避免工具包安装与调用的混乱。


碰到底线咯 后面没有啦

本文标题:anaconda笔记:conda的各种命令行操作

文章作者:高深远

发布时间:2019年09月13日 - 23:17

最后更新:2020年02月19日 - 17:28

原始链接:https://gsy00517.github.io/anaconda20190913231748/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%