【Conda 简介】

一、Conda 是什么?

Conda 是一个开源的包(Package)和环境(Environment)管理系统,专为数据科学、机器学习和科学计算而生。

你可以把 Conda 理解为一个双重功能的超级管家,它不仅是"包管理器",也是"环境管理器"。

作为包管理器:它能帮你安装、更新和卸载软件包。与 Python 自带的 pip 不同,Conda 不仅能管理 Python 包,还能管理系统级的库,比如 CUDA(英伟达的并行计算平台)、OpenCV(计算机视觉库)等,这些都是很多科学计算软件的底层依赖。

作为环境管理器:这是 Conda 最核心、最受欢迎的功能。它允许你在同一台电脑上创建多个相互隔离的虚拟房间(环境)。例如,项目 A 需要 Python 3.6 和旧版 TensorFlow,项目 B 需要 Python 3.10 和最新版 PyTorch,Conda 可以轻松创建两个独立的环境,让它们互不干扰,完美解决了令人头疼的"版本冲突"问题。

二、为什么需要 Conda?它不是必须的,但强烈推荐

简单来说,Conda 不是"必须"的,因为你可以手动下载 Python,再用 pip 和 venv 实现类似的功能。但在很多复杂场景下,Conda 极大地提升了效率。

它主要有以下优势:

解决依赖冲突:像 CUDA、MKL 这类非 Python 依赖,pip 无法处理。Conda 强大的依赖解析器能自动搞定所有依赖,确保环境稳定。

环境完全隔离:环境是彻底独立的,包括了 Python 解释器本身。轻松实现多版本、多项目共存,告别"在我的机器上能运行"的尴尬。

高性能优化:Conda 官方频道(如 conda-forge)提供的科学计算包(如 NumPy)通常经过了针对 Intel MKL 等底层数学库的预编译和优化,计算性能比 pip 安装的版本更高。

跨平台一致性:无论在 Windows、macOS 还是 Linux 上,Conda 的命令完全一样。通过一个 environment.yml 文件,就能在任何地方一键复现出完全相同的开发环境,这对团队协作和科研复现至关重要。

多语言支持:如果你的项目不仅是 Python,还涉及 R、Ruby、Lua 甚至 C/C++ 库,Conda 都能统一管理。

三、如何上手使用 Conda?

  1. 安装:选择你的版本

    Miniconda:推荐。仅包含 Conda、Python 和必要依赖,体量小巧。适合希望按需安装的用户。

    Anaconda:新手友好。预装了 200+ 常用数据科学包,但体积巨大(约 3GB+),会占用大量空间。

    你可以去官网下载对应操作系统(Windows, macOS, Linux)的安装包。

  2. 配置:加速下载

    首次安装后,建议添加国内镜像源(如清华源),否则下载速度会很慢。打开终端(cmd 或 shell)执行以下命令:

添加清华镜像源

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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

设置安装时显示通道地址

conda config --set show_channel_urls yes

  1. 核心操作:管理环境和包
    这是日常使用最多的命令,一定要记牢。

环境管理

conda create -n myenv python=3.9 创建一个名为 myenv 的新环境,并指定 Python 版本为 3.9。

conda activate myenv 激活并切换到 myenv 环境。

conda deactivate 退出当前环境,回到 base 环境。

conda env list 列出所有已创建的环境,当前激活的环境会用 * 标出。

conda remove --name myenv --all 删除名为 myenv 的环境及其所有包。

包管理

conda search numpy 搜索 numpy 包有哪些可用版本。

conda install numpy pandas 在当前激活的环境中安装 numpy 和 pandas。

conda install -c conda-forge scipy 从 conda-forge 频道安装 scipy。

conda remove numpy 从当前环境中卸载 numpy。

conda update --all 更新当前环境中的所有包。

环境共享

conda env export > environment.yml 将当前环境的配置导出到 environment.yml 文件。

conda env create -f environment.yml 根据 environment.yml 文件一键创建完全相同的环境。

四、实战案例

场景:你需要复现一篇论文的代码,它要求 Python 3.8, PyTorch 1.12 和 CUDA 11.3。

操作流程:

1、创建环境:

conda create -n paper_repro python=3.8

作用:创建一个名为 paper_repro 的虚拟环境,并安装 Python 3.8

简单理解:相当于在你的电脑里隔出一个独立的小房间,这个房间里装着 Python 3.8

2、激活环境:

conda activate paper_repro

作用:进入(切换到你刚才创建的 paper_repro 环境

简单理解:打开那个小房间的门,走进去。之后你安装的所有东西都会放在这个房间里,不会影响外面的其他项目

3、安装核心包(Conda 会自动处理 CUDA toolkit 等依赖):

conda install pytorch==1.12 torchvision cudatoolkit=11.3 -c pytorch

作用:安装 PyTorch 1.12、torchvision 和 CUDA 11.3 工具包

简单理解:在这个小房间里安装论文需要的核心软件(深度学习框架)。-c pytorch 表示从 PyTorch 官方频道下载,cudatoolkit=11.3 是让 GPU 加速的底层库

4、安装其他包:

conda install numpy pandas matplotlib jupyter

作用:安装常用的数据处理和可视化工具包

简单理解:在这个小房间里顺便装上数据分析常用工具(NumPy 算数组、Pandas 处理表格、Matplotlib 画图、Jupyter 写交互式代码)

5、导出环境(方便分享或备份):

conda env export > paper_repro_env.yml

作用:把当前环境的完整配置信息保存到 paper_repro_env.yml 文件中

简单理解:把你这个小房间的"装修清单"写下来(包括用了什么包、什么版本、从哪里下载的)。下次别人拿到这个清单,用 conda env create -f paper_repro_env.yml 就能一秒复制出完全一样的环境

相关推荐
CV-deeplearning1 天前
还在用 Anaconda?Miniforge:conda-forge 官方极简安装器,内置 Mamba,6 大架构全覆盖,5 分钟从零搭建 Python 环境
conda·miniforge·包管理器·conda-forge·python环境管理
一碗白开水一2 天前
【训练技巧】bash: conda: command not found:conda 没有适配环境
开发语言·conda·bash
buxiangshui_cd3 天前
Conda命令
开发语言·python·conda
DogDaoDao4 天前
【第 04 篇】列表与元组 —— 序列类型核心详解
人工智能·python·深度学习·神经网络·机器学习·conda·numpy
Kobebryant-Manba7 天前
安装cuda
pytorch·python·深度学习·conda·numpy
zlkingdom8 天前
Jetson Orin开发板,在conda环境中直接实现Pytorch的GPU加速
人工智能·pytorch·conda·随笔·jetson orin
战斗强8 天前
RTX 5090 Grounded-SAM-2 实时 RTSP 跟踪部署指南
python·conda
zhangfeng113310 天前
htc 中minconda 明明安装了 Python 3.10显示 python 3.8 因为 `conda activate` 没有真正切换成功
开发语言·python·conda
H Journey11 天前
python包和项目管理工具uv、conda介绍
python·conda·uv