conda激活虚拟环境
在项目目录下,推荐使用前面配置好的 Miniconda 来创建 Python 虚拟环境。
-
创建虚拟环境
conda create --name all-in-rag python=3.12.7
-
激活虚拟环境
所有系统统一使用以下命令激活虚拟环境:
conda activate all-in-rag
-
依赖安装 如果严格安装上述流程当前应该在项目根目录,进入code目录安装依赖库
cd code pip install -r requirements.txt
在 VS Code 中安装或使用 Conda 时,Python 版本并非由 VS Code 直接决定,而是由你创建 / 使用的 Conda 环境 决定。VS Code 本质是一个编辑器,它本身不 “安装” Python 或 Conda,而是通过配置关联已有的 Conda 环境及其包含的 Python 版本。
要理解这一过程,需要先理清「Conda 与 Python 的关系」以及「VS Code 如何关联 Conda」,具体可拆解为以下 3 个核心问题:
1. 首先:Conda 本身不直接绑定固定 Python 版本
Conda 是一个包 / 环境管理工具(而非 Python 解释器),它的核心功能是创建独立的 “环境”,每个环境可单独指定 Python 版本。
当你安装 Anaconda 或 Miniconda(Conda 的两种分发版)时,会默认创建一个名为 base
的基础环境,这个环境会包含一个默认的 Python 版本(版本由你下载的 Anaconda/Miniconda 安装包决定):
- 例如:2024 年 Anaconda 官网下载的安装包,
base
环境默认 Python 版本通常是 3.10 或 3.11(具体以官网最新安装包为准); - 你可以在安装后通过终端执行
conda activate base
激活基础环境,再执行python --version
查看其默认 Python 版本。
2. 关键:你可以为 Conda 创建任意 Python 版本的环境
Conda 的核心价值是 “环境隔离”—— 你可以创建多个独立环境,每个环境指定不同的 Python 版本(比如一个环境用 3.8,另一个用 3.12),互不干扰。
例如,在终端中执行以下命令,可创建一个 Python 3.9 的 Conda 环境(命名为 py39-env
):
bash
# 创建指定Python版本的环境
conda create -n py39-env python=3.9
# 激活环境
conda activate py39-env
# 查看当前环境的Python版本(此时会显示3.9.x)
python --version
3. VS Code 如何关联 Conda 的 Python 版本?
VS Code 不会 “安装” Conda 的 Python,而是通过「选择解释器」功能,关联你已创建的 Conda 环境中的 Python 可执行文件。具体步骤如下:
- 确保已安装 Conda:先在系统中安装 Anaconda 或 Miniconda(不是在 VS Code 里装,而是从 Anaconda 官网 下载安装包);
- 在 VS Code 中打开终端:打开 VS Code 后,新建终端(快捷键
Ctrl + ``),确保终端已加载 Conda(若未加载,可重启 VS Code 或执行 Conda 安装目录下的
condabin/conda` 初始化脚本); - 激活目标 Conda 环境:在终端中执行
conda activate 你的环境名
(例如conda activate py39-env
); - 选择 Python 解释器:
- 按下
Ctrl + Shift + P
,输入Python: Select Interpreter
; - 在列表中会看到已激活的 Conda 环境对应的 Python 解释器(路径通常是
C:\Users\你的用户名\miniconda3\envs\py39-env\python.exe
或 Linux/macOS 下的类似路径),选择即可。
- 按下
此时 VS Code 会使用该 Conda 环境中的 Python 版本运行代码、安装依赖。
总结:如何查看 / 控制当前使用的 Python 版本?
操作目标 | 具体步骤 |
---|---|
查看 Conda 环境列表 | 终端执行 conda info --envs ,列出所有已创建的环境(带 * 的是当前激活环境) |
查看当前环境的 Python 版 | 激活环境后,终端执行 python --version 或 python -V |
切换 Python 版本 | 新建指定版本的 Conda 环境(conda create -n 新环境名 python=X.X ),再在 VS Code 中关联该环境 |
简单来说:VS Code 用的 Python 版本,就是你当前激活的 Conda 环境的 Python 版本,你可以通过创建不同版本的 Conda 环境来灵活切换。
equirements.txt
是 Python 项目中用于记录依赖包及其版本信息的文本文件,它与 Conda 的关系可以从「功能对比」和「协作使用」两个角度理解:
1. 核心功能:记录依赖,便于环境复现
无论是用 Conda 还是传统的 Python 环境(如 venv
),requirements.txt
的核心作用都是标准化项目依赖:
- 当你开发一个项目时,会安装各种第三方库(如
pandas
、requests
等),requirements.txt
会记录这些库的名称和精确版本(例如pandas==1.5.3
)。 - 其他人拿到你的项目后,只需通过一条命令(如
pip install -r requirements.txt
),就能自动安装所有依赖,快速复现与你一致的开发环境。
2. 与 Conda 的关系:互补而非替代
Conda 作为环境管理工具,和 requirements.txt
并非对立关系,而是可以配合使用:
-
Conda 环境 ≠ requirements.txt:
Conda 管理的是整个环境(包括 Python 版本、编译器、系统级依赖等),而requirements.txt
主要记录 Python 第三方库(通过pip
安装的包)。 -
在 Conda 环境中使用 requirements.txt:
当你在 Conda 环境中用pip
安装包时(例如pip install pandas
),这些包可以通过pip freeze > requirements.txt
导出到requirements.txt
中。
其他人在自己的 Conda 环境中,可通过pip install -r requirements.txt
安装这些依赖。 -
Conda 自己的依赖记录方式:
Conda 有自己的依赖记录文件environment.yml
(比requirements.txt
功能更全,可记录 Python 版本、Conda 渠道等),例如:yaml
name: myenv channels:- defaults dependencies:- python=3.9- pandas=1.5.3- pip:- requests==2.31.0 # 也可包含pip安装的包
但
requirements.txt
是 Python 生态的通用标准,跨环境(Conda、venv 等)兼容性更好。
3. 常见操作:在 Conda 环境中管理 requirements.txt
bash
# 1. 激活目标 Conda 环境
conda activate 你的环境名# 2. 导出当前环境中通过 pip 安装的依赖到 requirements.txt
pip freeze > requirements.txt# 3. 在另一个环境中,根据 requirements.txt 安装依赖
pip install -r requirements.txt
总结
requirements.txt
是Python 依赖的通用记录格式,用于确保项目在不同环境中能安装相同版本的依赖包。- 它与 Conda 可以配合使用:Conda 负责管理环境隔离和基础依赖,
requirements.txt
负责记录项目的 Python 库依赖。 - 若需要更全面的 Conda 环境记录(包括 Python 版本、Conda 专属包等),可使用
environment.yml
,但requirements.txt
因其通用性更适合跨工具协作。