整理Python中常用的conda命令操作


Posted in Python onJune 15, 2021

1 conda介绍

conda是一个python的包管理器,用来管理、安装、更新python的包和相关的依赖。另外,conda可以为特定任务创建独立的环境,每个环境中可以只安装需要用到的包和依赖,还可以将环境导出成yml文件,然后别人可以通过你导出的yml文件可以创建一样的环境。

1.1 查看版本

conda -V
#或
conda info

1.2 更新到当前版本

conda update conda

1.3 查看某个命令帮助文档

conda [command] --help

例如conda create --help

2 环境 (environment)

每个环境相当于一个独立的文件目录,目录下是已经安装了的包。切换到哪个环境,conda就会把包安装在哪个环境的目录下。默认的环境为base

2. 1 查看所有环境

conda info --envs

2.2 创建环境

#创建一个名为ENVNAME的环境
conda create --name ENVNAME

#创建一个名为ENVNAME的环境,并在该环境下包含某个版本的python
conda create --name ENVNAME python=3.9

#创建环境的同时,安装某个包
conda create --name ENVNAME python=3.9 PKG1 PKG2

--name也可以写作-n

例如conda create --name zyy创建了一个名为zyy的环境。通过命令conda list --name zyy查看zyy环境下有哪些包,可以发现此时该环境是空的,没有任何包。

2.3 激活和关闭环境

#激活ENVNAME环境
conda activate ENVNAME
#关闭退出当前环境
conda deactivate

2.4 查看某个环境下安装的包

#当前环境的包
conda list
#名为ENVNAME的环境的包
conda list --name ENVNAME
#或
conda list -n ENVNAME

2.5 删除环境

conda remove --name ENVNAME --all

2.6 导出环境到yml文件

#将ENVIRONMENT环境导出到env.yml文件中(包括所有安装的包以及依赖)
conda env export --name ENVIRONMENT > env.yml
#或
conda env export -n ENVIRONMENT > env.yml

#将ENVIRONMENT环境导出到env.yml文件中(不包括附带安装的依赖)
conda env export --from-history	 --name ENVIRONMENT > env.yml

2.7 根据yml文件创建环境

conda env create --file envname.yml
#或
conda env create -f envname.yml

2.8 环境变量设置

有时候在某个环境下需要设置环境变量。

查看当前的环境变量:conda env config vars list

设置环境变量:conda env config vars set my_var=value

取消环境变量:conda env config vars unset my_var

3 安装和卸载包

#在目前所在环境下安装名为PKG的包
conda install PKG

#在目前所在环境下安装某个版本的包
conda install PKG=3.1.4

#安装PKG包到指定环境ENVIRONMENT
conda install PKG --name ENVIRONMENT
#或
conda install PKG -n ENVIRONMENT

#从名字为CHANNEL的源中安装名字为PKG包
conda install PKG --channel CHANNEL

#从当前环境卸载某个包
conda uninstall PKG

#卸载指定环境中的某个包
conda uninstall PKG --name ENVIRONMENT

4 源 (channel)

conda的channel就是各个python包所在的远程地址,中文常常称作"源"。python的包存放在某个channel中,然后每个人在安装某个package的时候,此package便通过网络从远程的channel下载到本地然后安装到当前的环境(environment)中。

默认channel是 https://repo.anaconda.com/pkgs/,可能会收费。而conda-forge是免费的。

4.1 查看channel:

conda config --show

输入上述命令后,可以在命令行看到下列结果,发现只有两个channels,一个是conda-forge,一个是defaults。可以看到default_channels来源有两个:https://repo.anaconda.com/pkgs/mainhttps://repo.anaconda.com/pkgs/r

命令conda config --show除了显示channels之外,还会显示别的配置,如果只需要查看channels及其优先级,可以用

conda config --get channels

整理Python中常用的conda命令操作

4.2 添加channel:

#在channel list最上面添加channel,使其优先级最高
conda config --prepend channels CHANNEL
#或
conda config --add channels CHANNEL

#在channel list最下方添加channel,使其优先级最低
conda config --append channels CHANNEL

添加北外镜像的源:

conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
#Conda Forge
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
#pytorch
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/

添加之后,再看看有没有添加成功,conda config --get channels

整理Python中常用的conda命令操作

除了defaults和conda-forge,还多了四个我们刚刚添加的源,说明添加成功。

4.3 删除channel

conda config --remove channels CHANNEL

例如,刚刚添加了北外镜像的源,现在我们来删掉:

conda config --remove channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --remove channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --remove channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --remove channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/

再次查看当前的channels, conda config --get channels

5 一个完整示例

查看channel

conda config --get channels

整理Python中常用的conda命令操作

添加北外的源:

conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/

查看现在的channel

整理Python中常用的conda命令操作

查看当前系统有多少个环境

conda env list

显示:

整理Python中常用的conda命令操作

表明现在只有一个base环境。

创建新环境zyy,并且同时安装python3.9, matplotlib, numpy, netcdf4

conda create --name zyy python=3.9 matplotlib numpy netcdf4

整理Python中常用的conda命令操作

Proceed ([y]/n)?输入 y继续。然后开始安装包和相关的依赖。

最后显示:

整理Python中常用的conda命令操作

表明环境创建成功。

然后切换到zyy环境:

conda activate zyy

整理Python中常用的conda命令操作

切换环境后,发现前面括号中的内容已经由(base)变为(zyy)。

然后查看系统中存在哪些环境:

conda env list

接着导出当前环境

conda env export --name zyy --from-history my_env.yml

my_env.yml内容如下:

整理Python中常用的conda命令操作

接下来我们看如何从已有的yml文件中导入环境。

conda env create --file my_env.yml

显示这个错误: CondaValueError: prefix already exists: /home/yyzhong/anaconda3/envs/zyy

因为zyy环境已经存在了。为此,我们可以先把my_env.yml第一行中的zyy改称zyy2。然后

conda env create --file my_env.yml

然后通过

conda env list

可以看到,现在存在3个环境了。

到此这篇关于整理Python中常用的conda命令行操作的文章就介绍到这了,更多相关conda命令行常用操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python list使用示例 list中找连续的数字
Jan 27 Python
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
Mar 19 Python
python操作ssh实现服务器日志下载的方法
Jun 03 Python
python获取mp3文件信息的方法
Jun 15 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
Jun 21 Python
Python基于socket模块实现UDP通信功能示例
Apr 10 Python
使用python存储网页上的图片实例
May 22 Python
Python实现将Excel转换成xml的方法示例
Aug 25 Python
详解Python中的测试工具
Jun 09 Python
利用Python的sympy包求解一元三次方程示例
Nov 22 Python
Python 读取WAV音频文件 画频谱的实例
Mar 14 Python
python爬虫selenium模块详解
Mar 30 Python
Python实现单例模式的5种方法
Jun 15 #Python
用Python爬取某乎手机APP数据
七个非常实用的Python工具包总结
python异常中else的实例用法
Jun 15 #Python
Python实现简单的猜单词
Python自动化爬取天眼查数据的实现
浅谈Python响应式类库RxPy
Jun 14 #Python
You might like
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
JavaScript 事件对象介绍
2015/04/13 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
jQuery的ajax下载blob文件
2016/07/21 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
Bootstrap路径导航与分页学习使用
2017/02/08 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
2017/04/03 jQuery
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
Python函数式编程
2017/07/20 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
Django框架的中的setting.py文件说明详解
2018/10/15 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
Python实现简单猜数字游戏
2021/02/03 Python
HTML5跳转小程序wx-open-launch-weapp的示例代码
2020/07/16 HTML / CSS
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python
Python机器学习之决策树和随机森林
2021/07/15 Javascript
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python
实现GO语言对数组切片去重
2022/04/20 Golang
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis