网络编程
位置:首页>> 网络编程>> Python编程>> 整理Python中常用的conda命令操作

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

作者:找出幕后煮屎者  发布时间:2022-07-17 16:53:33 

标签: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

整理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个环境了。

来源:https://blog.csdn.net/X_And_Y/article/details/117855781

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com