目录

  • 一、conda命令
  • 二、conda info
  • 三、conda create
  • 四、conda install
  • 五、conda remove
  • 六、conda list
  • 七、conda search
  • 八、conda update
  • 九、conda config
  • 一、conda命令

    conda 命令可以用来:

  • 创建新的 conda 环境。
  • 在现有的 conda 环境中安装/升级包。
  • 查询/搜索 Anaconda 包的索引和当前 Anaconda 的安装。
  • Tip: 我们可以将前面带有两个短线(--)的常用命令进行缩写(并不是所有的都可以缩写),方法是取一个短线和选项的首字母。例如 --name 可以缩写成 -n--envs 可以缩写成 -e

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

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

    conda --help
    

    当然也可以使用缩写

    conda -h
    

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

    conda install -h
    

    二、conda info

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

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

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


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

    conda info --base
    

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

    conda info -e
    

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


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

    conda info --unsafe-channels
    

    三、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
    

    此时命令行前面多了一个 (my_env),这个是我们进入了该环境的标志

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

    因为我们并没有在创建环境的时候安装包,所以结果自然是什么都没有

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

    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 的环境,同时安装了三个包 pythonnumpyflask

    安装完成后,可以使用 conda list 命令查看已经安装的包。

    此外,我们的 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 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 uninstallconda 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 下的 numpyscipy,只需执行

    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
    

    来查看已经添加的频道。

    来源:péripatéticien

    物联沃分享整理
    物联沃-IOTWORD物联网 » conda常用命令汇总

    发表评论