已复制
全屏展示
复制代码

Anaconda 的安装与使用指南


· 6 min read

一. anaconda miniconda conda

anaconda miniconda conda 这三者有什么区别,他们之间是什么关系呢?

  • anaconda 是一个软件发行版,它包含了 Python 和 1500 多个的科学计算的软件包,例如conda、numpy、scipy、ipython等,在 anaconda 的 base 环境和 ~/anaconda3/bin/ 中,提前安装了非常多的Python包,不需要你去安装直接使用即可。
  • miniconda 也是一个软件发行版,和 anaconda 唯一的区别就是 miniconda 没有安装那些额外的软件包,它只提供了一个 conda 包管理工具和一些必要的软件包
  • conda 是一个包和环境管理工具,被打包在了 anaconda 和 miniconda 里面,所以安装完 anaconda 和 miniconda 后直接使用 conda 命令行就行了。

实际查看下 anaconda 和 miniconda安装的包的多少:

# anaconda 的安装包
(base) [work@node1 ~]$ ll anaconda3/bin/ | wc -l
571
(base) [work@node1 ~]$ pip list | wc -l
363


# miniconda 的安装包
(base) [work@node2 ~]$ ll miniconda3/bin/ | wc -l
143
(base) [work@node2 ~]$ pip list | wc -l
33

二. anaconda 安装

anaconda 下载地址 https://www.anaconda.com/download/

windows 的安装直接下载 exe 文件直接安装即可,安装时记得选择加入环境变量。

下面是 Linux 和 macos 上使用 .sh 文件的安装步骤:

# 下载安装包
wget https://repo.anaconda.com/archive/Anaconda3-2023.07-1-Linux-x86_64.sh


# 查看安装选项
bash ./Anaconda3-2023.07-1-Linux-x86_64.sh -h
usage: ./Anaconda3-2023.07-1-Linux-x86_64.sh [options]
Installs Anaconda3 2023.07-1
-b           run install in batch mode (without manual intervention),
             it is expected the license terms (if any) are agreed upon
-f           no error if install prefix already exists
-h           print this help message and exit
-p PREFIX    install prefix, defaults to /home/work/anaconda3, must not contain spaces.
-s           skip running pre/post-link/install scripts
-u           update an existing installation
-t           run package tests after installation (may install conda-build)


# 直接安装 使用 -b 参数:使用默认路径、默认接受所有许可
bash ./Anaconda3-2023.07-1-Linux-x86_64.sh -b


# conda初始化:使用 -b 参数安装后不会添加环境变量,所以需要执行初始化命令,会提示修改了 ~/.bashrc 文件
~/anaconda3/bin/conda init
source ~/.bashrc

三. miniconda 安装

miniconda 下载地址 https://docs.conda.io/en/latest/miniconda.html

安装方法和 anaconda 的安装方法完全一致。

四. 取消自动进入base环境

解决 anaconda miniconda 安装后自动进入 base 虚拟环境的问题:当安装完 anaconda 和 miniconda 后进入命令行会自动进入到 base 虚拟环境,解决办法是关闭 auto_activate_base 属性。

# auto_activate_base 默认是 true
conda config --set auto_activate_base false

# 退出当前 shell 重新进入就不会进入 base 虚拟环境了

五. conda 命令行智能补全

conda 命令默认是没有补全功能的,安装 conda-bash-completion 让 conda 命令实现补全功能。

# 如果你在某个虚拟环境里面,退出当前的虚拟环境,然后再安装
conda deactivate

# 安装conda-bash-completion
conda install -c conda-forge conda-bash-completion

# 配置 ~/.bashrc 环境变量
CONDA_ROOT=~/anaconda3   # <- set to your Anaconda/Miniconda installation directory
if [[ -r $CONDA_ROOT/etc/profile.d/bash_completion.sh ]]; then
    source $CONDA_ROOT/etc/profile.d/bash_completion.sh
else
    echo "WARNING: could not find conda-bash-completion setup script"
fi

六. conda 与 pip 的区别

conda 是一个包管理工具,它不仅能管理 Python 包,还可以管理其他的软件包,但是它只能在 conda 环境中安装包。pip 是 Python 的包管理工具,只能安装 Python包。也可以在 conda 创建虚拟环境中,用 pip 来安装Python包,但不推荐这样做。

pip工具的特点:pip的虚拟环境只是把新安装的软件包隔离起来,多个虚拟环境使用的是同一个Python解释器。

conda 的特点:conda的每一个虚拟环境都是完全独立的,包括安装的软件包和解释器本身。

七. comda 命令行使用总结

conda 命令行可以管理各种软件包,它的主要功能包括了:

  • 搜索anaconda package和已经安装的 package。
  • 创建虚拟环境。
  • 安装和更新现有的虚拟环境。

7.1 conda channel 镜像源

conda 默认的 channel 是 defaults,但这个channel的代码包不全。建议使用conda-forge channel,并设置严格优先使用conda-forge,因为这不同 channel 的包不完全兼容,conda-forge有强大的社区支持,提供了大多数安装包,并且更新及时,官网地址 https://conda-forge.org/docs/index.html

添加 conda-forge channel 并设置优先级

conda config --show channels             # 查看所有的镜像源


conda config                             # 创建 ~/.condarc 文件,安装后默认不会创建
conda config --get channels              # 查看现在的 channel 状态和优先级
conda config --add channels conda-forge  # 添加conda-forge channel,添加后默认就是最高优先级

# strict 表示高优先级channel的包会被安装,而低优先级channel中的同名软件包将被忽略
# 如果高优先级没有找到此包,则会从低优先级的channel中安装
conda config --set channel_priority strict

7.2 conda 基础操作相关

conda -V                # 查看版本
conda info              # 查看基本信息:当前虚拟环境、安装路径、Python版本等
conda update -n conda   # 更新conda
conda config --show     # 查看conda所有的配置

7.3 conda 虚拟环境相关

conda create -n myenv python=3.10.4   # 创建虚拟环境并指定需要的Python版本
conda activate myenv                  # 激活虚拟环境
conda deactivate                      # 退出当前虚拟环境

conda search flask                    # 搜索次conda的安装包有哪些
conda install flask=2.1.3             # 自定安装版本,不指定则安装最新版本
conda install flask                   # 如果已经在虚拟环境中,直接安装
conda install -n myenv flask          # 如果不在虚拟环境中,可以指定虚拟环境安装
conda update --all                    # 更新现有的包到最新

conda remove flask                    # 删除当前环境中的某个包
conda remove -n myenv --all           # 删除指定环境(必须退出环境后再删除)
conda remove -n myenv flask           # 删除指定环境中的某个包

conda list                            # conda当前环境安装的所有的包
conda env list                        # 查看当前存在的所有虚拟环境

# 不到万不得已,不使用 pip 安装软件包,确保是在虚拟环境下时才安装
pip -V
pip install flask

八. conda 卸载

anaconda 与 miniconda 的卸载

# 查看安装路径
conda info


# 1、删除安装目录
rm -rf ~/miniconda3


# 2、删除这些文件中的环境变量陪配置 ~/.bash_profile ~/.bashrc


# 3、删除conda配置
rm -rf ~/.condarc ~/.conda ~/.continuum
🔗

文章推荐