跳转至

Anaconda使用

conda包管理器

conda是Anaconda的包管理器,用于安装、更新和管理Python包和环境。它可以处理Python包以及其他语言的包

相比于pipconda具有以下优势:

  • 可以管理Python包和其他语言的包(如R、Ruby等)
  • 可以创建和管理虚拟环境,隔离不同项目的依赖
  • 可以处理包的依赖关系,自动安装所需的依赖包

conda命令

常用的conda命令包括:

conda init # 初始化conda
# 执行该命令后会修改shell配置文件(如.bashrc、profile.ps1等),使得新终端默认进入base环境
conda create -n env_name python=3.9  # 创建新环境
conda env create --file # 需指定环境配置文件environment.yml
conda activate env_name              # 激活环境
conda rename -n old_env_name new_env_name # 重命名环境
conda deactivate                    # 退出当前环境
conda install package_name          # 安装包
conda update package_name           # 更新包
conda remove package_name           # 删除包
conda list                          # 列出已安装的包
conda list > requirements.txt  # 导出已安装包到文件
conda search package_name           # 搜索包
conda env list                     # 列出所有环境
conda env remove -n env_name        # 删除环境
conda clean --all                   # 清理缓存

Channel是什么?

Channel是Anaconda的包源,类似于Linux的apt源。Anaconda默认使用的是https://repo.anaconda.com/pkgs/main

使用命令conda config --show channels可以查看当前的Channel列表。

channel的优先级是从上到下的,优先使用列表中的第一个Channel。 通过再次执行add命令添加Channel,使得新的Channel被添加到列表的顶部。

channels:
  - defaults #官方channel
  - conda-forge #开源社区channel

增加和删除Channel可以使用以下命令:

conda config --add channels CHANNEL #添加Channel
conda tos accept --override-channels --channel CHANNEL #接受Channel的使用条款
conda config --remove channels CHANNEL #删除Channel

--override-channels选项用于覆盖当前的Channel设置

在下载包时选择Channel

conda install PACKAGE_NAME -c CHANNEL_NAME

创建环境时遇到这样的报错怎么处理? (base) PS C:\Users\ASUS> conda create -n pytorch_env python=3.9 -y

CondaToSNonInteractiveError: Terms of Service have not been accepted for the following >channels. Please accept or remove them before proceeding: • https://repo.anaconda.com/pkgs/r • https://repo.anaconda.com/pkgs/msys2

如果按提示允许或拒绝,anaconda只会抛出另一个报错:CondaKeyError: 'channels': value 'https://repo.anaconda.com/pkgs/r' not present in config

这就有点烦了对吧——你已经尝试移除这些 channel,但系统还是提示你没有接受它们的条款。

解决方法是在创建环境时指定channel

conda create -n pytorch_env python=3.9 -y --override-channels -c conda-forge

在安装包时也指定channel

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 \
  --override-channels \
  -c pytorch -c nvidia -c conda-forge

也可以选择接受

conda config --add channels https://repo.anaconda.com/pkgs/r
conda config --add channels https://repo.anaconda.com/pkgs/msys2
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/msys2