Python项目依赖管理:venv与conda

一、初步认识

常用的三种虚拟环境和安装包工具:

  • venv:(py自带)虚拟环境工具,配合pip安装依赖,通过requirements.txt批量管理包。
  • conda:(需单独安装)可管理Python和非Python依赖(如CUDA、C库),环境隔离能力强。
  • uvhttps://github.com/astral-sh/uv。`uv` 是一个极速的 Python 包安装工具(比pip快10-100倍)。
    • 使用案例:week03\README.md

使用选择:

你是 Python 开发者 → uv 或 venv

你是数据科学家 → conda

你追求极致速度 → uv

你不想装任何额外工具 → venv

你维护旧项目 → 保持现状


二、教程

例如现在有个python项目,里边有个 requirements.txt(记录项目所有依赖包及其版本的文件)

1. 使用 venv(Python自带)

在requirements.txt同级目录执行以下命令。

  1. 创建虚拟环境
bash 复制代码
# Windows
python -m venv .venv

# macOS/Linux
python3 -m venv .venv
  1. 激活虚拟环境
bash 复制代码
# Windows (PowerShell)【在ide工具中执行命令要用这个】
.venv\Scripts\Activate.ps1

# Windows (CMD)
.venv\Scripts\activate.bat

# macOS/Linux
source .venv/bin/activate

激活成功后,命令行前会显示 (venv)

  1. 升级pip(可选但推荐)
bash 复制代码
pip install --upgrade pip
  1. 安装依赖包
bash 复制代码
pip install -r requirements.txt

# 推荐指定国内数据源下载
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
  1. 验证安装
bash 复制代码
pip list

或者在 .venv\Lib 目录可以看到安装的依赖包。

  1. 退出虚拟环境
bash 复制代码
deactivate
  1. 导出依赖到 requirements.txt
bash 复制代码
# 导出所有已安装的包生成 requirements.txt
pip freeze > requirements.txt

2. 使用 Conda

先下载安装 Miniconda 地址:https://repo.anaconda.com/miniconda/

  1. 创建虚拟环境
bash 复制代码
# 创建名为 myenv 的环境,指定Python版本【推荐指定】
conda create -n myenv python=3.11

# 或者创建时不指定Python版本
conda create -n myenv
  1. 激活虚拟环境
bash 复制代码
# Windows/macOS/Linux 通用
conda activate myenv
  1. 安装依赖包
bash 复制代码
# 方法1:使用pip安装(推荐,兼容性最好)
pip install -r requirements.txt

# 方法2:使用conda安装(如果requirements.txt是conda格式)
conda install --file requirements.txt
  1. 导出环境配置(备份用)
bash 复制代码
# 导出conda环境配置
conda env export > environment.yml

# 导出pip格式的依赖
pip freeze > requirements.txt
  1. 验证安装
bash 复制代码
conda list
# 或
pip list
  1. 退出虚拟环境
bash 复制代码
conda deactivate
  1. 其他常用命令
bash 复制代码
# 查看所有环境
conda env list

# 删除环境
conda env remove -n myenv

# 克隆环境
conda create -n newenv --clone oldenv

# 从environment.yml创建环境
conda env create -f environment.yml
相关推荐
复园电子17 小时前
企业PDF批量盖章开发集成指南:API对接OA/LIMS系统,高并发落地实战
开发语言·python·pdf
石山代码17 小时前
类型限定符的底层实现原理是什么?
python
雾沉川17 小时前
PyCharm 2025.2 完整安装与配置技术教程
ide·python·pycharm
眠りたいです17 小时前
LangChainv1:agent快速上手与中间件认识
人工智能·python·中间件·langchain·langgraph
2601_9563198817 小时前
期货报单被拒怎么识别与处理:order 状态与 last_msg 用法
python·区块链
yijianace17 小时前
Python爬虫实战:分页爬取 + 详情页采集 + CSV存储
前端·爬虫·python
蜂蜜黄油呀土豆17 小时前
Agent 循环:观察、思考、行动(ReAct 入门)
python·ai·大模型·react·js
SilentSamsara17 小时前
特征工程系统方法论:编码、分箱、交互特征与特征选择
开发语言·人工智能·python·机器学习·青少年编程·信息可视化·pandas
财经资讯数据_灵砚智能17 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年6月8日
大数据·人工智能·python·ai·信息可视化·自然语言处理·灵砚智能
geovindu17 小时前
python:Coroutines Pattern
开发语言·python·设计模式·协程模式