当前位置: 首页 > news >正文

conda激活虚拟环境

在项目目录下,推荐使用前面配置好的 Miniconda 来创建 Python 虚拟环境。

  1. 创建虚拟环境

    conda create --name all-in-rag python=3.12.7
     
  2. 激活虚拟环境

    所有系统统一使用以下命令激活虚拟环境:

    conda activate all-in-rag
    
  3. 依赖安装 如果严格安装上述流程当前应该在项目根目录,进入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 可执行文件。具体步骤如下:

  1. 确保已安装 Conda:先在系统中安装 Anaconda 或 Miniconda(不是在 VS Code 里装,而是从 Anaconda 官网 下载安装包);
  2. 在 VS Code 中打开终端:打开 VS Code 后,新建终端(快捷键 Ctrl + ``),确保终端已加载 Conda(若未加载,可重启 VS Code 或执行 Conda 安装目录下的 condabin/conda` 初始化脚本);
  3. 激活目标 Conda 环境:在终端中执行 conda activate 你的环境名(例如 conda activate py39-env);
  4. 选择 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 的核心作用都是标准化项目依赖

  • 当你开发一个项目时,会安装各种第三方库(如 pandasrequests 等),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 因其通用性更适合跨工具协作。
http://www.dtcms.com/a/390733.html

相关文章:

  • 重构大qmt通达信板块预警自动交易系统--读取通达信成分股
  • 25.9.19 Spring AOP
  • d38: PostgreSQL 简单入门与 Vue3 动态路由实现
  • No006:订阅化时间管理——迈向个性化、生态化的AI服务模式
  • 微服务-sentinel的理论与集成springcloud
  • C++学习:哈希表unordered_set/unordered_map的封装
  • 圆柱永磁体磁场及梯度快速计算与可视化程序
  • 种群演化优化算法:原理与Python实现
  • 基于IPDRR模型能力,每个能力的概念及所要具备的能力产品
  • NUST技术漫谈:当非结构化数据遇见状态跟踪——一场静默的技术革命
  • 在技术无人区开路,OPPO的指南针是“人”
  • AI与NPC发展过程及技术
  • Redis数据库(三)—— 深入解析Redis三种高可用架构:主从复制、哨兵与集群模式
  • (leetcode) 力扣100 13最大子序和(动态规划卡达内算法分治法)
  • SpringBoot整合JUnit:单元测试从入门到精通
  • MySQL三范式详细解析
  • GitHub 仓库权限更改
  • 卷积神经网络(CNN)核心知识点总结
  • Python数据挖掘之基础分类模型_朴素贝叶斯
  • 数字工业化的终极形态:人、机器与算法的三重奏
  • [x-cmd] 在 Linux 与 MacOS 安装与使用 x-cmd
  • wkhtmltopdf 命令参数及作用大全
  • Windows路径转换成Cygwin中的Unix路径的方法
  • JavaWeb之Web资源与Servlet详解
  • [视图功能8] 图表视图:柱状图、折线图与饼图配置实战
  • TDengine IDMP 基本功能——数据可视化(5. 表格)
  • ViTables 安装与 HDF5 数据可视化全指南
  • Python爬虫实战:研究Pandas,构建最新网游数据采集与智能推荐系统
  • 在.NET中实现RabbitMQ客户端的优雅生命周期管理及二次封装
  • .NET自定义数据操作日志