整理Python中常用的conda命令操作
作者:找出幕后煮屎者
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/main和https://repo.anaconda.com/pkgs/r
命令conda config --show
除了显示channels之外,还会显示别的配置,如果只需要查看channels及其优先级,可以用
conda config --get channels
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
除了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
添加北外的源:
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
查看当前系统有多少个环境
conda env list
显示:
表明现在只有一个base环境。
创建新环境zyy,并且同时安装python3.9, matplotlib, numpy, netcdf4
conda create --name zyy python=3.9 matplotlib numpy netcdf4
Proceed ([y]/n)?
输入 y继续。然后开始安装包和相关的依赖。
最后显示:
表明环境创建成功。
然后切换到zyy环境:
conda activate zyy
切换环境后,发现前面括号中的内容已经由(base)变为(zyy)。
然后查看系统中存在哪些环境:
conda env list
接着导出当前环境
conda env export --name zyy --from-history my_env.yml
my_env.yml
内容如下:
接下来我们看如何从已有的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命令行常用操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!