AI智能体项目实战记录(01):开发环境搭建之conda的安装与配置

1. 引言

很多刚接触 Python 的朋友都会遇到这样的困惑:明明在自己电脑上跑得好好的代码,换了一台机器就报错;或者项目 A 需要 Python 3.8,项目 B 需要 Python 3.11,装来装去把系统环境搞得一团糟。这时候,conda 就是解决这些问题的利器。

2. 什么是 conda

conda 是一个开源的包管理系统和环境管理系统,最初由 Anaconda 公司开发,用于简化 Python 及相关科学计算库的安装与管理。它不仅能管理 Python 包,还能管理 Python 版本本身,甚至能管理非 Python 的依赖库(如 C/C++ 库、CUDA 等)。≤199 人企业、个人爱好者、高校、非营利组织:可以免费使用 Anaconda Individual Edition,访问官方 default 源,不需要买商业许可Anaconda。

3. 为什么要用 conda

3.1 环境隔离,互不干扰

conda 最核心的价值在于环境隔离。你可以为每个项目创建独立的虚拟环境,不同环境之间互不影响:

bash 复制代码
# 创建 Python 3.11 的环境
conda create -n project_a python=3.11

# 创建 Python 3.8 的环境
conda create -n project_b python=3.8

这样,项目 A 升级依赖不会破坏项目 B 的运行环境,彻底告别「装一个包把另一个项目搞挂」的噩梦。

3.2 解决依赖冲突

Python 生态中依赖冲突非常常见:库 X 需要 numpy<2.0,库 Y 需要 numpy>=2.0。conda 通过独立的 solver 自动解析依赖关系,帮你找到兼容的版本组合,避免手动排查依赖地狱。

3.3 跨平台一致性

conda 在 Windows、macOS、Linux 上行为一致。通过 environment.yml 文件,你可以把整个环境配置分享给团队或部署到服务器:

yaml 复制代码
name: my_project
channels:
  - conda-forge
dependencies:
  - python=3.11
  - numpy
  - pandas
  - pip

其他人只需一条命令即可复现完全相同的环境:

bash 复制代码
conda env create -f environment.yml

3.4 科学计算生态友好

conda 对科学计算库(NumPy、SciPy、Pandas、PyTorch、TensorFlow 等)支持极佳,能直接安装预编译的二进制包,避免从源码编译带来的漫长等待和兼容性问题。

3.5 管理非 Python 依赖

很多项目不仅依赖 Python 包,还依赖系统级的 C/C++ 库。conda 可以一并管理这些非 Python 依赖,确保它们在各个平台上都能正确安装。

4. conda 与 pip、virtualenv 的对比

特性 conda pip + virtualenv
管理 Python 版本 ✅ 支持 ❌ 不支持(需另装 pyenv)
管理非 Python 依赖 ✅ 支持 ❌ 不支持
依赖解析 内置 solver,自动解决冲突 依赖 pip 的解析,冲突时需手动处理
环境隔离 ✅ 原生支持 ✅ 通过 virtualenv 支持
预编译二进制包 ✅ 丰富 部分依赖需源码编译
适用场景 科学计算、数据科学、机器学习 通用 Web 开发、轻量项目

5. conda 的安装与配置

5.1 安装 conda

conda 分为 Anaconda 和 Miniconda 两种发行版:

  • Anaconda:包含大量常用科学计算库的集合版本,开箱即用,但体积较大。
  • Miniconda :精简版本,只包含 conda、pip、zlib、python 以及它们所需的包,其余依赖通过 conda install 命令自行安装。

下载地址:

点击安装即可,不需要另外安装 Python 运行环境。安装过程中出现 Advanced options 选项时:

  • 第一个选项:将 Anaconda 的路径加入环境变量;
  • 第二个选项:默认将 conda 安装的 Python 定为系统使用的默认版本。

5.2 配置环境变量与初始化

安装完成后,以管理员身份重新打开 cmd,执行初始化命令:

bash 复制代码
conda init

初始化完成后,以管理员身份重新启动 cmd,使配置生效。

5.3 添加国内镜像源

国内访问官方源较慢,可添加国内大学镜像源加速下载:

bash 复制代码
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/r/

目前国内提供 conda 镜像的大学:

查看已添加的 channels:

bash 复制代码
conda config --show channels

恢复默认镜像源:

bash 复制代码
conda config --remove-key channels

6. 环境管理

6.1 创建环境

创建 Python 版本为 X.X、名字为 env_name 的虚拟环境:

bash 复制代码
conda create -n env_myfirst01 python=3.12

因为我已经执行过,所以提示是否移除当前存在的环境。 创建完毕后env_name 文件可以在 Anaconda 安装目录的 envs 文件夹下找到。

6.2 查看环境

bash 复制代码
conda env list
# 或者
conda info --envs

6.3 删除环境

bash 复制代码
conda remove -n env_name --all
conda env remove -n env_name

6.4 重命名环境

conda 没有直接的重命名命令,可通过克隆实现(将 --clone 后面的环境重命名成 -n 后面的名字):

bash 复制代码
conda create -n torch --clone py3   # 将 py3 重命名为 torch

6.5 进入与退出环境

创建完成环境之后,系统会提示如何进入和退出环境:

bash 复制代码
conda init          # 初始化,以管理员重启 cmd
conda activate env_myfirst01   # 进入环境
conda deactivate    # 退出环境

7. 在 conda 环境内使用 pip 安装

用命令查找版本信息:

bash 复制代码
conda search numpy

在 Anaconda 下用 pip 装包的原因 :尽管在 Anaconda 下我们可以很方便地使用 conda install 安装依赖,但 Anaconda 本身只提供部分包,远没有 pip 提供的包多。有时 conda 无法安装我们需要的包,就需要用 pip 将其装到 conda 环境里。

首先进入指定的环境中,然后再通过 pip 安装即可:

bash 复制代码
conda activate env_name
pip install package_name

8. 卸载 conda

如需彻底卸载 conda,可删除 Anaconda/Miniconda 安装目录,并清理环境变量中的相关配置。

9. 环境迁移

将要迁移的环境打包:

bash 复制代码
conda pack -n 虚拟环境名称 -o environment.tar.gz

如果报错 No command 'conda pack',尝试使用:

bash 复制代码
conda install -c conda-forge conda-pack

复制压缩文件到新的电脑,进入 conda 的安装目录:

bash 复制代码
/anaconda(或者miniconda)/envs/

对于 Ubuntu,可以通过 whereis conda 查看 conda 的安装路径,然后 cd 到 conda 的安装路径:

bash 复制代码
mkdir environment
# 解压 conda 环境
tar -xzvf environment.tar.gz -C environment

使用 conda env list 查看虚拟环境,进入迁移的环境内,通过 pip list 查看迁移前后包的安装情况。

10. 使用 Mamba 加速安装

Mamba 是 Conda 的一个高性能替代品,能够更快地解决依赖关系。可以通过以下命令安装 Mamba:

bash 复制代码
conda install mamba -n base -c conda-forge

然后使用 Mamba 安装包:

bash 复制代码
mamba install package_name

11. IDEA 集成 conda

在 IntelliJ IDEA 中,可以在项目解释器设置里选择 conda 环境作为 Python 解释器,从而在 IDE 中直接使用 conda 管理的虚拟环境进行开发调试。

相关推荐
Wokoo71 小时前
Selenium 核心 API 解析(三)
python·功能测试·selenium
在世修行1 小时前
智学文枢:技术选型
python·技术选型
我命由我123452 小时前
Function Calling 模型
人工智能·python·学习·ai·学习方法·ai编程·ai写作
XMXFS3 小时前
小红书推荐算法底层逻辑解析:用数据思维做内容优化
python·算法·新媒体运营·推荐算法
hans7748829683 小时前
仅根据BMI反推身高和体重?还真能做到!只需要简单的数论知识~
python·数学
追光者493 小时前
我把 55 篇自动化日志翻了一遍:最容易出事的是这 4 个地方
python·自动化运维
2601_962885723 小时前
如何用 Python计算 CR能量指标(中间意愿指标)?
开发语言·python
打工仔折腾 AI3 小时前
LangChain 工具调用实战:从 Tool 定义到 Agent 执行链路拆解
java·前端·人工智能·后端·python·langchain·ai agent 实战
hhb_6184 小时前
Flask+SQLite实现用户管理接口
python·sqlite·flask