程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长嵌入式、鸿蒙、Java、人工智能等开发,专注于程序员成长的那点儿事,希望在成长的路上有你相伴!君志所向,一往无前!
1.Conda 是什么
Conda 是一个跨平台的包管理和环境管理工具,最初为 Python 设计,但支持任意语言的包(如 R、C/C++、Java)。
核心目标:
- 解决依赖冲突:自动处理库之间的版本兼容性问题。
- 创建隔离环境:为不同项目提供独立的环境,避免全局安装的混乱。
- 预编译二进制包:无需手动编译,节省时间并降低安装失败率。
2.什么时候使用 Conda?
-
管理多个 Python 版本
• 如果你需要在同一台机器上运行不同版本的 Python(例如 Python 3.10 和 3.13),Conda 可以轻松创建隔离的环境,避免版本冲突。
-
跨平台支持 • Conda 支持 Windows、macOS 和 Linux,无需担心不同系统下 Python 环境配置的差异。
-
解决依赖冲突
• 当项目依赖的库(如 NumPy、Pandas、TensorFlow)版本不兼容时,Conda 能自动处理依赖关系,找到兼容的版本组合。
-
安装非 Python 依赖
• Conda 不仅可以安装 Python 包,还能管理其他语言或工具(如 R、C/C++ 库、命令行工具),避免手动编译安装的麻烦。
-
预编译的二进制包
• Conda 仓库中的包是预编译的(尤其是科学计算库),安装速度快,无需本地编译,避免因缺少编译器或头文件导致的安装失败。
-
科学计算和数据分析生态
• Conda 默认集成大量科学计算库(如 Anaconda 发行版),适合需要快速搭建数据科学环境的场景。
3.Conda 的核心概念
(1) 包(Package)
Conda 包是预编译的二进制文件(如 Python 库、命令行工具、动态链接库)。 包含元数据(名称、版本、依赖项、安装脚本等)。
(2) 环境(Environment)
一个隔离的目录,包含特定版本的 Python 及其依赖的包。 不同环境互不干扰(例如,项目 A 用 Python 3.8 + TensorFlow 2.4,项目 B 用 Python 3.10 + TensorFlow 2.12)。
(3) 仓库(Channel) 包的下载来源,默认是 defaults(由 Anaconda 维护)。
常用第三方仓库:
- conda-forge:社区维护,包更新更快。
- pytorch:PyTorch 官方仓库。
- bioconda:生物信息学工具。
(4) 发行版
Anaconda:包含 Python 和 1500+ 科学计算包(适合开箱即用)。
Miniconda:仅包含 Python 和 Conda(轻量级,按需安装)。
4.Conda 的核心功能
(1) 环境管理
创建环境:
conda create --name myenv python=3.9 numpy pandas
激活/退出环境:
conda activate myenv # 进入环境
conda deactivate # 退出环境
列出所有环境:
conda env list
删除环境:
conda env remove --name myenv
(2) 包管理
安装包:
conda install numpy # 从默认仓库安装
conda install -c conda-forge tensorflow # 指定仓库
卸载包:
conda remove numpy
更新包:
conda update numpy # 更新单个包
conda update --all # 更新所有包
搜索包:
conda search "numpy>=1.20"
(3) 依赖管理
导出环境配置:
conda env export > environment.yml # 包含精确版本(适合生产环境)
conda list --export > requirements.txt # 仅包名称(适合协作)
从文件创建环境:
conda env create -f environment.yml
5.Conda 安装 Python
-
安装 Conda
• 下载 Miniconda(轻量版)或 Anaconda(完整科学计算套件):
◦ Miniconda:https://docs.conda.io/en/latest/miniconda.html
◦ Anaconda:https://www.anaconda.com/download
-
创建并激活环境
# 创建一个名为 myenv 的环境,并指定 Python 版本
conda create --name myenv python=3.9
# 激活环境
conda activate myenv # Windows/macOS/Linux -
安装 Python 包
# 安装包(如 NumPy)
conda install numpy
# 也可以直接通过 pip 安装(建议优先用 Conda)
pip install package_name -
退出和删除环境
# 退出当前环境
conda deactivate
# 删除环境
conda env remove --name myenv
6.Conda vs 其他工具
| 场景 | 推荐工具 | 原因 |
|---|---|---|
| 简单安装 Python | 官方 Python 安装包 | 无需复杂环境管理时直接使用。 |
| 项目依赖隔离 | Conda / venv | Conda 更擅长处理科学计算库依赖,venv 适合纯 Python 项目。 |
| 快速安装科学计算库 | Conda | 预编译包节省时间,避免手动解决依赖。 |
| 仅需轻量级环境 | Python 自带的 venv | 不需要跨语言依赖管理时,venv 更轻量。 |
7.注意事项
• Conda 和 pip 的优先级:
在同一个环境中,尽量先用 conda install 安装包,再用 pip,避免依赖冲突。
• 镜像加速:
可通过配置国内镜像(如清华源)提升下载速度。
• 环境导出:
使用 conda env export > environment.yml 导出环境配置,便于团队协作。
通过 Conda,可以更高效地管理复杂的 Python 项目环境,尤其适合需要多版本、多依赖、跨平台协作的场景。
好啦,本篇就到这里啦!加油,冲!
本文来自博客园,作者:程序员Feri,转载请注明原文链接:https://www.cnblogs.com/feiyi/articles/18826857
浙公网安备 33010602011771号