介绍

anaconda 官网

Conda是什么

Conda 是一个开源的包管理系统和环境管理系统,可以在 Windows、macOS 和 Linux 上运行。 Conda 可快速安装、运行和更新包及其依赖项。 使用Conda 可以在计算机上轻松地创建、保存、加载和切换环境。 它是为 Python 程序而创造的,但它也可以打包和分发任何语言的软件。

Conda/Miniconda/Anaconda三者的区别

下面通过一张图,形象的展示了 Conda 环境和软件包管理工具与 Miniconda 和 Anaconda Python 发行版(注:Anaconda Python 发行版现在有超过 150 个额外的软件包!)之间的区别。

51816c5d951ea2150fd4f32472cd21a2.png

工具

包含内容

适用场景

Conda

包管理 + 环境管理工具

核心组件

Miniconda

Conda + Python + 少量必要包

推荐给开发者

Anaconda

Miniconda + 超过 150 个科学计算包

适合数据科学新手

安装

软件下载地址

Linux安装

1. 下载安装程序

# 最新的下载地址请从 https://www.anaconda.com/download 获取
wget -c https://repo.anaconda.com/archive/Anaconda3-2025.06-0-Linux-x86_64.sh 

2. 步骤

chmod +x Anaconda3-2025.06-0-Linux-x86_64.sh
sudo ./Anaconda3-2025.06-0-Linux-x86_64.sh

执行之后在如下类似界面中输入 回车 键同意协议

输入 yes 然后 回车

下图是确认安装位置,默认装在 ~/anaconda3 目录下, 如果确认安装在此目录输入 回车 如果终止安装输入 Ctrl+c,如果需要自定义安装目录可输入一个本地路径,然后按 回车

安装过程中会出现以下提示,选择 yes 会在当前的 shell 环境 中注入 conda ,并且在进入 shell 环境时,自动进入 base 环境, 如果选择 no 则不会修改 shell 环境 中的任何配置,如果后续要使用 conda 需要手动 source 安装目录/etc/profile.d/conda.sh

因此一般为了方便直接输入 yes 然后 回车, 让 conda 自动注入 shell环境

Tips: 如果后续不想要自动进入 base环境,可以在终端输入以下命令关闭自动进入虚拟环境

conda config --set auto_activate_base false

以上过程结束后,重启终端即可生效!!!

常用命令

🔧 1. 环境管理

创建环境

conda create -n myenv python=3.10

创建一个名为 myenv 的环境,并指定 Python 版本。

激活环境

conda activate myenv

退出环境

conda deactivate

删除环境

conda remove -n myenv --all

列出所有环境

conda env list

复制环境

conda create -n newenv --clone oldenv

📦 2. 包管理

安装包

conda install numpy
conda install numpy=1.26

更新包

conda update numpy

删除包

conda remove numpy

列出已安装包

conda list

搜索包

conda search numpy

🌐 3. 源配置

查看当前源

conda config --show channels

添加清华镜像(国内推荐)

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

显示包来源

conda config --set show_channel_urls yes

show_channel_urls yes 的意思是:在执行 conda installconda list 的时候,显示包是从哪个源下载的。

举个例子,如果你开启了这个选项,conda install numpy 时会显示

恢复默认源

conda config --remove-key channels

📂 4. 环境导入导出

导出环境

conda env export > environment.yml

# 只导出包名,不包含版本(更轻量)
conda list --export > requirements.txt
# 从 requirements.txt 安装
conda install --file requirements.txt

从 yml 文件创建环境

conda env create -f environment.yml

⚙️ 5. 其他

更新 conda 本身

conda update conda

禁用 base 自动激活

conda config --set auto_activate_base false

撤销 shell 初始化

conda init --reverse $SHELL

国内及其他镜像源推荐

国内镜像源

# 阿里云
conda config --add channels https://mirrors.aliyun.com/pypi/simple/
# 中科大
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
# 上交大
conda config --add channels https://mirrors.sjtu.edu.cn/anaconda/pkgs/main/

conda-forge 源

🔗 conda-forge 源介绍

conda-forge 也是常用源:

conda config --add channels conda-forge

除了官方的 defaults 源和国内的镜像站,社区中还有一个非常常用的源 —— conda-forge

conda-forge 是什么?

  • conda-forge 是一个 社区驱动的 Conda 包仓库,由全球开发者维护。

  • 包更新速度非常快,很多官方源没有的新版本会第一时间在 conda-forge 上提供。

  • 提供的包数量极其丰富,小众库、工具包、最新版本都可以在这里找到。

  • 类似于 Python 的 PyPI,只是 conda-forge 是专门为 Conda 打包的。

为什么要使用 conda-forge?

  • 包更全:官方源没有的包基本都能在 conda-forge 找到。

  • 更新更快:很多热门库在官方源还没更新时,conda-forge 已经提供了最新版。

  • 兼容性更好:社区会为不同平台(Linux/macOS/Windows)和不同 Python 版本维护构建。

如何启用 conda-forge ?

# 添加 conda-forge 源
conda config --add channels conda-forge

# 推荐设置为 flexible,让 conda 可以在 defaults 和 conda-forge 之间自由选择
conda config --set channel_priority flexible

如果你希望 所有包都优先从 conda-forge 下载,可以使用:

conda config --set channel_priority strict

使用建议

  • 平时安装常见包(如 numpy、pandas)时,默认的 defaults 就够用。

  • 当某些包 官方源没有版本过旧 时,可以直接指定从 conda-forge 安装,例如:

    conda install -c conda-forge opencv
    
  • 国内环境下,conda-forge 的包也可以通过 清华镜像站 获取,加速效果和官方镜像一致。

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

👉 总结:conda-forge 就是一个 强大且活跃的社区源,建议与官方源配合使用,可以解决绝大多数包管理问题。

❓常见问题(FAQ)

为什么打开终端总是自动进入 (base) 环境?

安装时如果选择了 yes,conda 会在 shell 配置文件里自动激活 base 环境。

如果你觉得烦,可以关闭自动进入 base

conda config --set auto_activate_base false

condapip 有什么区别?能混用吗?

  • conda install:优先安装 Conda 仓库里的包,依赖管理更完整,能解决 C/C++ 库依赖。

  • pip install:从 PyPI 安装 Python 包,适合 Conda 没有的库。

建议做法:

  1. 优先使用 conda install

  2. Conda 没有的包,再用 pip install

  3. 如果在一个环境里混用,最好先装完 conda 包,再用 pip,避免依赖冲突。

更新 Conda 时要注意什么?

  • 更新 Conda 自身:

    conda update conda
    
  • 更新所有已安装的包:

    conda update --all
    

⚠️ 有时 --all 会导致依赖冲突,遇到问题可以单独更新某些包,或新建环境。

如何彻底移除 Conda?

如果想卸载 Anaconda/Miniconda,可以直接删除安装目录(例如 ~/anaconda3~/miniconda3),并清理 shell 配置文件中与 conda 相关的初始化代码:

rm -rf ~/anaconda3
# 编辑 ~/.bashrc 或 ~/.zshrc,删除 conda init 注入的几行

在服务器或多人环境下如何管理 Conda?

  • 建议安装到 /opt/conda,并配置全局 PATH。

  • 不要都共用一个环境,推荐每人一个独立虚拟环境。

  • 可以用 conda env export + conda env create 来同步环境

conda-forge 要不要加?

  • 建议加上,包更多、更新快。

  • 可以灵活设置优先级:

    • 默认 flexible:和官方源混用。

    • 严格模式 strict:优先使用 conda-forge