史上最详细的conda常用命令讲解,收藏这一篇就够了

一、conda命令

conda命令可以用来:

  • 创建新的 conda 环境。
  • 在现有的 conda 环境中安装/升级包。
  • 查询/搜索 Anaconda 包的索引和当前 Anaconda 的安装。

Tip:我们可以将前面带有两个短线(–)的常用命令进行缩写(并不是所有的都可以缩写),方法是取一个短线和选项的首字母。例如–name可以缩写成-n,–envs可以缩写成-e。

使用conda -V以查看当前的 conda 版本。

1.1 寻求帮助

我们可以通过命令行寻求相应的帮助,即

conda --help

当然你也可以使用缩写

conda -h

执行上述命令后,我们会看到(这里只列出其中的一部分):

史上最详细的conda常用命令讲解,收藏这一篇就够了

如果我们想要进一步查看install命令该如何使用,只需执行

conda install -h

二、conda info

conda info可以用来查看相关信息,其格式如下:

conda info [-a] [--base] [-e] [-s] [--unsafe-channels]

-a, -all: 查看所有信息(不常用)。

–base:查看基环境所在路径。

conda info --base

史上最详细的conda常用命令讲解,收藏这一篇就够了

-e, –envs:列出当前所有的 conda 环境。

conda info -e

史上最详细的conda常用命令讲解,收藏这一篇就够了

-s, –system:列出所有的环境变量(不常用)。

–unsafe-channels:查看令牌公开的频道。

conda info --unsafe-channels

史上最详细的conda常用命令讲解,收藏这一篇就够了

三、conda create

conda create可以用来创建新的 conda 环境,其格式如下:

conda create [-n env_name | -p path] [--clone env_name] [-c channel_address]
             [packages]

-n, –name:我们可以根据环境名称来创建一个 conda 环境,假设我们的环境名称为my_env

conda create -n my_env

创建完成后,我们使用如下命令进入环境

conda activate my_env

此时我们的命令行变为

史上最详细的conda常用命令讲解,收藏这一篇就够了
可以看到前面多了一个(my_env),这个是我们进入了该环境的标志。

使用conda list命令来查看该环境下都安装了哪些包:

史上最详细的conda常用命令讲解,收藏这一篇就够了

由于我们在创建环境的时候没有安装包,所以结果是什么都没有。

如果要退出环境,只需执行

conda deactivate

注意:我们只能退出到基础环境,在基础环境中继续退出还是在基础环境中。

-p, –prefix:除了根据名称创建环境以外,我们还可以根据地址来创建 conda 环境。

在上面的例子中,我们创建的my_env环境的地址为:G:\anaconda3\envs\my_env。事实上,如果不指定地址,则所有的环境都会创建在…\anaconda3\envs\下。

要从地址创建,只需执行

conda create -p G:\anaconda3\envs\my_env

–clone:–clone主要用来克隆(复制)现有的环境。

我们可以根据现有环境的名称来进行克隆,假设现有环境的名称为original_env,新的环境的名称为new_env,则只需执行

conda create -n new_env --clone original_env

当然,我们也可以根据现有环境的地址进行克隆:

conda create -n new_env --clone G:\anaconda3\envs\original_env

-c, –channel:首先来介绍一下什么是 conda 频道。

conda 频道是存储 包 的位置,安装 包 时 conda 会搜索现有的频道集合,并选取其中一个频道来安装 包。

conda 的默认频道是https://repo.anaconda.com/pkgs/,但该频道需要付费,我们一般使用conda-forge这个频道来进行安装,它是免费的。

通道的设置在此省略,后续章节会提到。

packages:我们新创建的环境如果不安装必要的包是无法使用的,需要安装的包用空格隔开,即

conda create -n my_env python numpy flask

我们用该命令创建了一个叫my_env的环境,同时安装了三个包python、numpy、flask。

安装完成后,我们使用conda list命令查看已经安装的包:

史上最详细的conda常用命令讲解,收藏这一篇就够了

可以看到安装的包远不止三个,这是因为有些包需要其他包作为前缀。

此外,我们的 python 安装的是最新版本,当然我们也可以指定版本进行安装:

conda create -n my_env python=3.9.7 numpy flask

四、conda install

conda install可以用来在 conda 环境中安装相应的包,具体格式如下:

conda install [-n env_name | -p path] [-c channel_address] [packages]

已经介绍过的选项这里就不介绍了。

例如,我们要在my_env下安装 3.9.7 版本的 python。我们可以先进入该环境,然后安装:

conda activate my_env
conda install python=3.9.7

注意这里的=其实是一个模糊约束,具体见下图:

史上最详细的conda常用命令讲解,收藏这一篇就够了

也可以直接指定安装环境:

conda install -n my_env python=3.9.7 # 根据名称
conda install -p G:\anaconda3\envs\my_env python=3.9.7 # 根据地址

再例如,安装cvxpy时,我们可以从指定的频道(conda-forge)进行安装

conda install -n my_env -c conda-forge cvxpy

五、conda remove

conda remove可以用来移除 conda 环境中的某些包,也可以移除整个环境,具体格式如下:

conda remove [-n env_name | -p path] [packages] [--all]

例如,如果我们需要移除my_env下的numpy,只需执行

conda remove -n my_env numpy

当然我们也可以移除所有包(即整个conda环境)

conda remove -n my_env --all

需要注意的是,conda没有提供重命名环境的命令,我们只能先克隆一份原来的环境,然后再删除原来的环境,具体操作如下(例如将环境a重命名成b):

conda create -n b --clone a
conda remove -n a --all

conda uninstall是conda remove的别名,我们也可以使用conda uninstall来移除包,方法是相同的。

六、conda list

conda list用来列出 conda 环境中的包,具体格式如下:

conda list [-n env_name | -p path] [package]

conda list只列出当前环境的所有包,若要列出其他环境的包,例如列出my_env下的所有包,只需执行:

conda list -n my_env

若要列出my_env中与numpy相关的包(准确地来说是含有numpy字样的包),只需执行:

conda list -n my_env numpy

基于此,我们可以使用conda list来查询当前环境是否安装了相应的包(每次只能查询一个),如果最后的结果没有列出,那就说明没有安装。

七、conda search

conda search用来搜索指定的包,具体格式如下:

conda search [-c channel_address] [-f] [packages]

我们可以指定在conda-forge中搜索numpy:

conda search -c conda-forge numpy

事实上,上述命令会搜索到所有包含numpy字样的包,如果我们只想搜索numpy这个包,需要加上-f(–full-name的缩写),即

conda search -c conda-forge -f numpy

八、conda update

conda update用来将一系列的包升级到最新版本,具体格式如下:

conda update [-n env_name | -p path] [packages] [--all]

例如,如果我们想要升级my_env下的numpy和scipy,只需执行

conda update -n my_env numpy scipy

如果我们要想更新my_env中的所有包,则需执行

conda update -n my_env --all

如果要更新conda本身,则需执行

conda update conda

如果要更新anaconda,则需执行

conda update anaconda

注:升级Anaconda前需要先升级conda。

九、conda config

conda config用来配置 conda 的频道,相关信息会存储在C:\Users\你的用户名\.condarc文件中。

添加频道的格式为:

conda config --add channels [channel]

例如,若要添加conda-forge这个频道,只需执行

conda config --add channels conda-forge

由于国外频道的速度普遍不稳定,我们通常会考虑使用国内频道,比如清华镜报。

考虑到 Windows 用户无法直接创建名为.condarc的文件,我们可以先执行

conda config --set show_channel_urls yes

然后直接修改文件。

内容如下:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

修改完后,执行conda clean -i清除索引缓存,保证用的是镜像站提供的索引。

设置好之后,我们就可以执行了

conda config --get channels

查看已添加的频道。

10. 最后

  • 本文仅介绍一些最常用的命令和选项。如果想了解更多,可以前往下方官方文档了解更多。
  • 由于博主水平有限,文章难免有遗漏和错误。欢迎读者指出。

参考

[1]conda 官方文档.

版权声明:本文为博主serity原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/weixin_44022472/article/details/123202424

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年3月2日 下午8:19
下一篇 2022年3月4日 上午11:54

相关推荐