目录
一、conda命令
conda
命令可以用来:
- 创建新的 conda 环境。
- 在现有的 conda 环境中安装/升级包。
- 查询/搜索 Anaconda 包的索引和当前 Anaconda 的安装。
Tip: 我们可以将前面带有两个短线(
--
)的常用命令进行缩写(并不是所有的都可以缩写),方法是取一个短线和选项的首字母。例如
--name
可以缩写成
-n
,
--envs
可以缩写成
-e
。
使用
conda -V
以查看当前的 conda 版本。
1.1 寻求帮助
我们可以通过命令行来寻求相应的帮助,即
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
的环境,同时安装了三个包
python
、
numpy
、
flask
。
安装完成后,我们使用
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 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
来查看已经添加的频道。
十、最后
- 本文只介绍了一些最常用的命令和选项,如需了解更多,可前往下方的官方文档进一步学习。
- 因博主水平有限,文章难免存在疏漏错误之处,欢迎各位读者指出。
参考
[1] conda 官方文档.
版权归原作者 serity 所有, 如有侵权,请联系我们删除。