第 41 课 · 阶段七 · 进阶主题

虚拟环境与包管理

不同项目要装不同的库,混在一起迟早出乱子。这一课学会用虚拟环境隔离依赖,用 requirements.txt 一键搬移项目环境。

第 41 课阶段七 · 进阶主题难度:进阶建议时长:30 分钟关键词:venv · pip · requirements.txt

🎯 学完本课你将掌握

  • 理解虚拟环境的意义
  • 创建、激活、退出虚拟环境
  • 用 pip freeze 导出与安装依赖

一、为什么需要虚拟环境

项目 A 需要 pandas 1.0,项目 B 需要 pandas 2.0。装在同一台电脑的全局环境里就会冲突。虚拟环境给每个项目一个独立的 Python 环境,互不干扰。

二、创建虚拟环境

创建 venv
1# 在项目目录下创建虚拟环境(名为 venv)
2python -m venv venv

三、激活虚拟环境

系统激活命令
Windows (cmd)venv\Scripts\activate
Windows (PowerShell)venv\Scripts\Activate.ps1
macOS / Linuxsource venv/bin/activate
激活后
1# 命令行前面出现 (venv) 前缀即激活成功
2(venv) C:\myproject> pip install requests
✅ 要点
激活后,pip install 装的库只进当前虚拟环境,不会污染全局。

四、退出虚拟环境

退出
1deactivate

五、requirements.txt:依赖清单

把项目依赖写进 requirements.txt,别人克隆项目后一条命令就能复刻环境。

导出依赖
1# 在激活的虚拟环境里导出当前所有依赖
2pip freeze > requirements.txt
requirements.txt 内容示例
1requests==2.32.3
2numpy==2.1.0
3pandas==2.2.2
一键安装依赖
1# 新环境里安装全部依赖
2pip install -r requirements.txt

六、conda / venv 怎么选

七、常见错误与解决

常见错误与解决

错误现象原因 / 解决方法
激活脚本无法运行(PowerShell)执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 允许脚本运行。
pip 装到了全局而不是虚拟环境确认命令行前缀有 (venv);或直接用 venv\Scripts\pip install。
requirements.txt 装不上可能是旧包已失效,用 pip install -r requirements.txt 时报错时逐个升级。
✍️ 小练习
给一个项目创建虚拟环境,激活后安装 requests,用 pip freeze 导出 requirements.txt,再查看它。
📌 本节小结
虚拟环境 = 每项目一个独立环境;venv 创建、activate 激活、deactivate 退出;requirements.txt 让依赖可复现。做真实项目前先建环境,是专业开发的标配。