综述:通过Minicoda管理python环境;通过 uv 在coda环境安装langchain等第三方工具包。

1 Python版本

使用场景
推荐版本
原因
🔥 企业级生产环境(稳定)
3.10(LTS)
长期支持,生态完全兼容
新项目 / 高性能需求
3.12/3.11
性能优化,新特性丰富
老旧系统 / 第三方库兼容
3.8/3.9
适配老库,迁移成本低
学习 / 入门
3.10+
语法现代,教程资源最新

 

2. Miniconda

Miniconda是Python 环境管理器,核心是 “环境隔离”

Miniconda 包含两个核心:

  • conda 工具:负责创建独立的 Python 运行环境(每个环境有自己的 Python 版本 + 独立的包目录);
  • 基础 Python 解释器:每个环境内置对应的 Python,且环境之间完全隔离。

2.1 为什么 miniconda

场景
不用 Miniconda
用 Miniconda
安装 LangChain
装到系统 Python,全局可见
装到指定 Conda 环境,仅该环境可见
多项目兼容
若另一个项目需要旧版 LangChain,会冲突
为旧版创建新环境,两个版本共存
Python 版本适配
需手动升级系统 Python(风险高)
一键创建适配的 Python 环境(无风险)
卸载清理
需手动删全局包(易残留)
直接删除 Conda 环境,一键清空所有包

2.2 安装 miniconda

下载https://www.anaconda.com/docs/getting-started/miniconda/main进行安装

2.3 使用miniconda

step1 在miniconda 创建python环境

  •  -n py310:-n 是 –name 的缩写,指定环境名称为 py310(可改,如 my_project);
  • python=3.10:强制环境使用 Python 3.10 系列(Conda 会自动选最新的 3.10 小版本,如 3.10.15);
  • -y:自动确认所有安装提示(省略则需手动输入 y 确认)。

Q: conda create -n py310 -y 会对应哪个版本python呢

A: 未指定版本时的默认行为 conda 会优先从你配置的镜像源 / 默认频道(如 defaults、conda-forge)中,选择最新的稳定 Python 版本(比如 2025 年当前最新可能是 3.12/3.13);

step2 激活环境

激活成功后,终端 / 命令行前缀会显示 (py310),表示已进入该环境;

step3 验证环境

激活环境后,执行以下命令确认版本:

step4  退出环境

回到系统默认 Python 环境(或 Conda base 环境):

 

2.4 Miniconda Base环境

安装完 Conda(Anaconda/Miniconda)后,首次打开终端 / 命令行时会自动激活 base 环境

2.4.1 如何查看 base 环境的 Python 版本

Conda 安装包(Anaconda/Miniconda)会捆绑一个稳定版 Python,这个版本是 Conda 团队测试过的、与 Conda 核心工具兼容的版本,而非实时跟进 Python 最新发布版。例如:2024 年 Python 3.12 已是稳定版,但如果此时下载的 Miniconda 安装包仍捆绑 Python 3.11(因 3.12 尚未完成全量兼容性测试),则 base 环境默认就是 3.11;

2.4.2 关闭和恢复

1、关闭

2、 恢复自动激活(如需)

2.4.3 验证当前环境

无论是否自动激活,都可通过以下命令确认当前环境:

2.4.4 最佳实践:不依赖 base 环境的 Python 版本

base 环境的核心作用是承载 conda 命令本身,建议所有项目都创建独立环境,并指定所需的 Python 版本(包括最新版),这种方式既不影响 base 环境的稳定性,又能灵活使用任意 Python 版本(包括最新版)。

3. Miniconda管理多项目的 Python 环境

3.1 创建环境(指定 Python 版本)

语法:

示例(为不同项目创建环境):

  •  -n:指定环境名称(建议与项目名一致,便于识别);
  • -y:自动确认安装,无需手动输入 yes;

3.2 激活 / 切换环境

3.3 在IDE切换(以trae为例)

  • 打开命令面板:Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac)
  • 输入并选择 Python: Select Interpreter,在列表中选择你安装模块时使用的 Python 环境(如果使用虚拟环境,要选择虚拟环境中的 Python 解释器)。/opt/miniconda3/bin/python

1

4. 在miniconda安装langchain、langgraph

4.1 通过uv安装

4.2 验证

方式1. 打开 Python 终端(或 Jupyter Notebook),执行以下代码,若能正常输出版本号,说明包已成功安装:

方式 2. 查看版本:  python -c “import langchain; print(langchain.version)”

4.3 安装 LangChain/LangGraph 时,Miniconda 到底起什么作用?

简单说:Miniconda 是 “容器”,LangChain/LangGraph 是 “容器里装的软件”—— 没有这个 “容器”,你装的包会混在系统 Python 里,而有了它,包会被限定在指定环境中。

1. 🔥 决定 “装在哪里”:避免全局包冲突(最核心)

如果不用 Miniconda,你执行 pip install langchain 会把包装到系统全局 Python(比如 /usr/bin/python 或 ~/Library/Python);如果用 Miniconda,你先激活 lang_env 环境,再执行 pip install langchain,包会被装到如下路径

这个包只属于 lang_env 环境,和其他环境(比如 py38)、系统 Python 完全隔离 —— 这是 Miniconda 最关键的价值,而非 “仅管理 Python 版本”。

2. 决定 “用哪个 Python 装”:适配包的版本要求

LangChain 要求 Python 3.8+,若你系统全局 Python 是 3.7(旧版本),直接装会失败;而 Miniconda 可以创建 python=3.10 的环境,在这个环境里,pip 会自动关联该环境的 Python 3.10,此时安装 LangChain 才能满足版本要求 ——Miniconda 为包安装提供了 “适配的 Python 运行时”。

3. 间接影响安装过程:解决依赖兼容性

LangChain/LangGraph 依赖很多底层包(如 requests、pydantic、numpy 等):

  • 若不用 Miniconda,这些依赖会装到系统 Python,可能和其他项目的依赖版本冲突(比如 A 项目要 pydantic v1,B 项目要 pydantic v2);
  • 若用 Miniconda,每个环境的依赖是独立的,装 LangChain 时的依赖只影响当前环境,不会污染全局。

5. UV

5.1 pyproject.toml、Poetry 、pip、miniconda、uv 这些工具关系是什么 ,业界的使用标准规范是什么样的

工具层级 工具名称 核心定位 与其他工具的关键关系
配置标准层 pyproject.toml Python 官方标准化配置文件(PEP 517/518/621),项目的「统一配置入口」 1. 替代旧的 setup.py/setup.cfg/requirements.txt 零散配置;2. 被 Poetry/uv 等工具读取,定义依赖、构建规则;3. 无执行能力,仅存配置信息。
底层安装层 pip Python 官方包安装工具(对接 PyPI),所有上层工具的「执行基础」 1. 最底层的包下载 / 安装执行者;2. Poetry/uv 默认基于 pip(或 uv 自研引擎)完成实际安装;3. 可在 conda 环境中混用。
上层管理层 Poetry 主流的「依赖 + 项目管理工具」(封装 pip) 1. 读取 pyproject.toml 管理依赖,生成 poetry.lock 锁文件;2. 内置虚拟环境、依赖解析、项目打包发布;3. 完全兼容 pip 生态,依赖最终通过 pip 安装。
uv 新一代极速「依赖 + 环境管理工具」(替代 pip/Poetry) 1. 兼容 pyproject.toml/poetry.lock,自研安装引擎(比 pip 快 10-100 倍);2. 可直接替代 pip(uv pip install)、Poetry(uv add/install);3. 内置虚拟环境、依赖锁,轻量化。
环境隔离层 miniconda(Anaconda) 系统级「Python 环境 + 跨语言包管理器」(侧重环境隔离) 1. 独立于 pip/Poetry,通过 conda 命令管理 Python 版本和包;2. 可创建隔离的 Python 环境(如 python3.9/python3.11);3. conda 环境中可混用 pip/Poetry/uv 安装包(优先级:conda > pip)。

关键关系拆解(通俗版)

  • pyproject.toml = 所有现代 Python 项目的「统一身份证」:Poetry/uv 都认它,里面写清楚项目依赖、构建规则,替代了过去杂乱的 requirements.txt/setup.py;
  • pip = 「搬运工」:最基础的包下载安装工人,Poetry/uv 都是「包工头」,指挥 pip 干活(uv 可自己当工人,不用 pip);
  • Poetry = 「资深包工头」:管依赖、管虚拟环境、管打包发布,规则成熟,生态完善;
  • uv = 「新一代包工头 + 工人」:比 Poetry/pip 快,功能全覆盖,轻量化,正在替代 Poetry/pip;
  • miniconda = 「场地管理员」:给不同项目划分独立的「施工场地」(隔离 Python 版本),场地内可以用任何包工头 / 工人(Poetry/uv/pip)。

Q 在当前的conda环境下分别使用uv和pip安装了langchain,使用哪个langchain

A: uv 和 pip 安装的 langchain,最终都会被放到这个 当前conda的 目录下,先装的版本会被后装的版本直接覆盖。

5.2 安装

通过pip安装

验证

 

5.3 新建项目

包含两个功能:

  • 生成项目文件目录,包括pyproject.toml文件。
  • 执行uv env, 在当前目录创建 .venv 虚拟环境

5.4 下载一个已有项目,使用uv来安装依赖pyproject.toml

5.4.1 🔥 uv sync安装依赖

1. uv sync 的核心作用是: uv sync = uv venv(创建虚拟环境)+ 安装依赖 。

  • 检查项目根目录的 .venv 虚拟环境(默认)是否存在,不存在则自动创建;
  • 根据 pyproject.toml(+ uv.lock)将依赖安装到该 .venv 环境中。
  • uv sync 把依赖装到了 .venv 里,但不会自动激活环境—— 激活环境的本质是「让当前终端会话优先使用 .venv 中的 Python 解释器和依赖」。

5.4.2 是否需要激活环境 (推荐 uv run + 命令 )

如果你的操作都通过 uv run 来执行(推荐方式),则完全不需要激活环境。uv run 会自动调用 .venv 中的 Python 解释器:

如果需要激活,执行命令如下

5.4.3 🔥 在IDE中配置(trae 或者 vscode )

项目目录下生成了.venv,在select interpreter选择的是当前项目目录下.venv下python路径

  • 打开命令面板:Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac)
  • 输入并选择 Python: Select Interpreter,在列表中选择你安装模块时使用的 Python 环境(如果使用虚拟环境,要选择虚拟环境中的 Python 解释器)。选择对应env的配置

0b68672f-3b87-4af5-8240-3012c79d36e7

5.5 如果本地使用miniconda,如何和uv的venv进行结合呢,在Select Interpreter如何进行选择

核心原则是:让 Miniconda 提供基础 Python 版本,uv 基于该版本创建项目专属 .venv,开发工具最终选择 uv 的 .venv 解释器(而非 Miniconda 的 base/conda 环境)

1. 先激活 conda 基础环境(选需要的 Python 版本)

2. 让 uv 基于该 Python 版本创建项目 venv 进入项目根目录,

  • 新建项目
  •  非新项目,将依赖导入

 

 

 

 

分类&标签