Anaconda 学习笔记
目录
介绍
安装&运行
- 官网下载安装,可以打开 Anaconda Prompt 命令行,也可以用 Anaconda Navigator 可视化操作
命令
全局相关
- 帮助
conda -h
- 版本
conda -V
- 配置
conda config
-
conda config --show
查看所有配置
-
conda config --show config-name
查看指定的配置,只有 config-name 是有效的配置名称时才会正确输出。如查看 default_channels conda config --show default_channels
-
conda config --set config-name config-value
设置指定配置
-
conda config --add config-name config-value
添加指定配置,这也是最常见的添加配置的写法
- 信息
conda info
环境相关
- 创建环境
conda create
-
conda create -n env-name packages
创建名为 env-name 的环境,并安装若干个空格分隔的包。通常创建环境即写为 conda create -n env-name python=3.9 numpy
,指定版本用=而不是==
- 进入环境
conda activate env-name
- 退出环境
conda deactivate
包相关
- 安装包
conda install
-
conda install packages
在当前环境下安装若干个空格分隔的包,指定版本用=
-
-c channel-name
指定使用的 channel,关于 channel 见下文配置
- 清理无用包
conda clean
- 查看安装的包
conda list
- 删除包
conda remove
,别名 conda uninstall
-
conda remove packages
递归删除指定包和依赖于指定包的所有包
-
--all
删除所有包,也就是删除环境
- 查找包
conda search
-
conda search package-name
查找指定包,*
为通配符。部分包在 pip 和 conda 里的名称不一样,如 torch 和 opencv-python,因此可以先 conda search *torch*
找到对应的包
PyCharm 中使用 Conda 环境
- 配置见
- 配置 Interpreter 时,选择 Conda 环境的 Existing environment,PyCharm2018 在检测 Conda 环境时效果不好,只检测 Conda 环境下的 Python 而不检测 Conda 本身,导致 PyCharm 里能找到但无法加载 Conda 安装的 cudatoolkit,之后的版本添加了 conda.exe 路径配置,已经不会出现该问题
配置
- 跟 Maven 等工具一样,有多个层级的配置文件,通常用到的就是用户级配置
~/.condarc
文件,也就是 C:/Users/用户名/.condarc
- 第一次使用可以首先
conda config
让其生成这个配置文件
修改源
配置文件详解
- 为了理解上面的配置内容,需要查看官方文档 https://conda.io/projects/conda/en/latest/configuration.html
- Conda 的 Channel分为 base-url + channel-name 两部分,以下面为例
// 规定 channel,按照顺序依次搜索。如果是 url,则规定的就是 base-url + channel-name 这两部分;如果是 defaults,则将 Anaconda 默认源引入,如果是其他内容,则为 channel-name
channels:
- defaults
// 设为 true,则在查找时会显示每个包对应以上 channels 配置中的哪个 channel(url、defaults 或者 channel-name)
show_channel_urls: true
// 当仅有 channel-name 时,将 channel_alias 作为 base-url,Anaconda 默认为官方的 https://conda.anaconda.org
channel_alias: https://conda.anaconda.org
// 如果 channels 中指定 defaults,设置 default_channels 可以覆盖官方自带的 channels
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
// 指定每个 channel-name 对应的 channel_alias(base-url),覆盖全局的 channel_alias
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
- Anaconda 无任何配置时输出其自带的配置
channel_alias: https://conda.anaconda.org
channels:
- defaults
custom_channels:
pkgs/main: https://repo.anaconda.com
pkgs/r: https://repo.anaconda.com
pkgs/msys2: https://repo.anaconda.com
pkgs/pro: https://repo.anaconda.com
default_channels:
- https://repo.anaconda.com/pkgs/main
- https://repo.anaconda.com/pkgs/r
- https://repo.anaconda.com/pkgs/msys2
可以看到,当不加指定的 conda install pytorch 时,Anaconda 从指定的 default_channels 三个 Channel 去找;如果指定 -c pkgs/main
,拼接上 custom_channels 中的内容,就去 https://repo.anaconda.com/pkgs/main
找;如果指定 -c pytorch
,拼接上 channel_alias,就去 https://conda.anaconda.org/pytorch
找,只有后者才有 pytorch 的包,因此在 Pytorch 官网上指定了 -c pytorch
- 那么回到清华镜像源,就很容易理解网上常见的缺斤少两的清华镜像源的问题所在了
常见问题