Anaconda 学习笔记

Anaconda 学习笔记

目录

介绍

  • Anaconda(官网 https://www.anaconda.com/ )是软件包/环境管理工具 Conda 的数据科学版本,自带的 base 环境提供了大量数据科学使用的包
  • 当然 base 环境有点大,通常都是创建新的环境来用

安装&运行

  • 官网下载安装,可以打开 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 info -e 查看创建的环境列表

环境相关

  • 创建环境 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 环境

配置

  • 跟 Maven 等工具一样,有多个层级的配置文件,通常用到的就是用户级配置 ~/.condarc 文件,也就是 C:/Users/用户名/.condarc
  • 第一次使用可以首先 conda config 让其生成这个配置文件

修改源

  • Conda 下载软件包的渠道叫做 Channel,由于各种原因,在国内使用 Anaconda 自带的 Channel 下载会很慢,因此我们需要更换成国内的 Channel,如清华、中科大等都有提供
  • 网上各种博客写的乱七八糟,很多改源只改一半,改了也不知道什么意思,容易出现比如找不到 Pytorch 这样的问题,所以一定要参考官方内容
  • 清华 Anaconda 镜像配置:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/ 将以下内容写入 .condarc 文件中即可使用清华提供的 Channel
    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
      simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    

配置文件详解

  • 为了理解上面的配置内容,需要查看官方文档 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
  • 那么回到清华镜像源,就很容易理解网上常见的缺斤少两的清华镜像源的问题所在了

常见问题

posted @ 2021-11-07 09:41  0.0~~  阅读(344)  评论(0编辑  收藏  举报