前言

Anaconda 个人版是一个免费、易于安装的包管理器、环境管理器和 Python 发行版,包含 1,500 多个开源包,并提供 免费社区支持。Anaconda 与平台无关,因此无论您在 Windows、macOS 还是 Linux 上都可以使用它[2]。

通俗的讲,这个 Anaconda 是一个集成了很多开源库的环境管理平台,你可以在这个平台上安装多个独立互斥的编程环境,例如,你做深度学习单独创建了一个名为 deepl 的环境,而做强化学习又创建了一个名为 rl 的环境,把他们分开的好处就在于你可以避免出现深度学习和强化学习出现包依赖冲突的情况,你可以更专注去做其中一个任务。

对于这个环境,其实作者已经安装了很多次,但每次都需要上网查各种资料,写这篇文章的目的就是能方便以后复现,毕竟自己的经验显然是更适合自己的。当然,如果本文恰好能帮助到各位就再好不过了!


快速开始

安装 Anaconda

获取安装脚本

进入 Anaconda 的官网 Anaconda Installers 下载器界面,获取对应的下载链接。

1
wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh

运行安装脚本

在刚刚的目录下,运行下载好的脚本,开始安装 Anaconda

1
sh Anaconda3-2022.05-Linux-x86_64.sh

接受安装条款

1
2
Do you accept the license terms? [yes|no]
yes

设置安装路径,默然会在当前的 Linux 家目录下;否找你要自己设置一个路径

1
2
3
4
5
6
7
8
Anaconda3 will now be installed into this location:
/home/caczhtus/anaconda3

- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below

ENYER

按太多回车,把 conda init 跳过去了,并且找不到 conda 命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
done
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>>
You have chosen to not have conda modify your shell scripts at all.
To activate conda's base environment in your current shell session:

eval "$(/home/caczhtus/anaconda3/bin/conda shell.YOUR_SHELL_NAME hook)"

To install conda's shell functions for easier access, first activate, then:

conda init

If you'd prefer that conda's base environment not be activated on startup,
set the auto_activate_base parameter to false:

conda config --set auto_activate_base false

Thank you for installing Anaconda3!

添加环境变量,并重启一下

1
2
echo 'export PATH="/home/caczhtus/anaconda3/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

初始化conda,实际上,执行这个命令后会把上面那个添加环境变量的脚本规范化,似乎没其他操作

1
conda init

大功告成,验证一下

1
2
3
conda env list
# conda environments:
# base * /home/caczhtus/anaconda3

基础命令

管理 Conda

  • 查看版本

    1
    conda --version
  • 更新版本

    1
    conda update conda
  • 查看帮助

    1
    2
    conda --help
    conda -h
  • 卸载conda

    1
    rm -rf ~/anaconda3

    管理环境

  • 创建环境

    1
    conda create --name <env_name> <package_names>
    • <env_name> 即创建的环境名。建议以英文命名,且不加空格,名称两边不加尖括号“<>
    • <package_names> 即安装在环境中的包名。名称两边不加尖括号“<>
    • 如果要安装指定的版本号,则只需要在包名后面以 = 和版本号的形式执行。如: conda create –name python2 python=2.7 ,即创建一个名为“python2”的环境,环境中安装版本为2.7的python。
    • 如果要在新创建的环境中创建多个包,则直接在<package_names> 后以空格隔开,添加多个包名即可。如: conda create -n python3 python=3.5 numpy pandas ,即创建一个名为“python3”的环境,环境中安装版本为3.5的python,同时也安装了numpy和pandas。
    • 默认情况下,新创建的环境将会被保存在 /Users/<user_name>/anaconda3/env 目录下,其中,<user_name> 为当前用户的用户名。[1]
  • 切换环境

    1
    source activate <env_name>
    • 如果创建环境后安装Python时没有指定Python的版本,那么将会安装与Anaconda版本相同的Python版本,即如果安装Anaconda第2版,则会自动安装Python 2.x;如果安装Anaconda第3版,则会自动安装Python 3.x。
    • 当成功切换环境之后,在该行行首将以“(env_name)”或“[env_name]”开头。其中,“env_name”为切换到的环境名。如:在macOS系统中执行 source active python2 ,即切换至名为“python2”的环境,则行首将会以(python2)开头。
  • 退出环境

    1
    source deactivate

    这条命令过时了

    1
    DeprecationWarning: 'source deactivate' is deprecated. Use 'conda deactivate'.
  • 查看已创建的环境

    1
    conda info --envs
    1
    conda info -e
    1
    conda env list
  • 克隆已存在的环境

    1
    conda create --name <new_env_name> --clone <copied_env_name>
    • new_env_name:新创建的环境名
    • copied_env_name:已有的环境名
  • 删除已存在的环境

    1
    conda remove --name <env_name> --all

    管理包

  • 查看已有的包

    1
    conda list
  • 精准查找可安装的包

    1
    conda search --full-name <package_full_name>
  • 模糊查找可安装的包

    1
    conda search <text>
  • 安装包到指定环境中
    安装 package_name 到 env_name 环境中

    1
    conda install --name <env_name> <package_name>

    安装 package_name 到当前环境中

    1
    conda install <package_name>
  • 使用 pip 安装

    1
    pip install <package_name>

    pip只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用pip进行安装 包,则需要先切换到指定环境中,再使用pip命令安装包。
    pip无法更新python,因为pip并不将python视为包。
    pip可以安装一些conda无法安装的包;conda也可以安装一些pip无法安装的包。因 此当使用一种命令无法安装包时,可以尝试用另一种命令。[1]

    快速查包的方法:可以到 anaconda 的官网中查询,然后复制命令下载:link

  • 卸载指定环境中的包
    卸载指定环境中的包

    1
    conda remove --name <env_name> <package_name>

    卸载当前环境中的包

    1
    conda remove <package_name>
  • 更新包
    更新所有包

    1
    conda update --all
    1
    conda upgrade --all

    更新指定包

    1
    conda update <package_name>
    1
    conda upgrade <package_name>

    更新多个指定包,则包名以空格隔开,向后排列。如: conda update pandas numpy matplotlib 即更新pandas、numpy、matplotlib包。

修改源

由于墙的原因,所以将源改为国内的源可以一定程度避免包安装失败的问题,一般使用清华源。

修改源一般修改家目录下的 .condarc 文件就行,所以这里的方法就是预先写多个设置源的文件,在重设时直接利用 cp 命令覆盖过去就行。

1
cp ~/.condarc_x ~/.condarc
1
2
3
channels:
- default
show_channels_urls: true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- 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
1
2
3
4
5
6
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls: true

查看当前的源

1
conda config --show-source

后记

参考文章

  1. Anaconda介绍、安装及使用教程
  2. Anaconda 文档
  3. Ubuntu18.04安装anaconda