Python 虚拟环境介绍
1. 什么是虚拟环境
虚拟环境可以理解为“项目专属的 Python 运行环境”。
它通常包含:
- 一份独立的 Python 解释器引用。
- 一套独立安装的第三方包。
- 与其他项目隔离的依赖版本。
比如项目 A 需要 Django 3.x,项目 B 需要 Django 5.x,如果都装在全局环境里就容易冲突。使用虚拟环境后,每个项目可以安装自己需要的版本,互不影响。
2. 为什么需要虚拟环境
实际开发中,建议每个 Python 项目都使用虚拟环境,主要原因有:
- 避免依赖冲突:不同项目可以使用不同版本的库。
- 保持全局环境干净:不要把所有包都安装到系统 Python 里。
- 方便迁移项目:通过
requirements.txt记录依赖,别人可以快速还原环境。 - 减少“我这里能跑”的问题:团队成员安装相同依赖版本,更容易复现结果。
常见目录结构:
3. venv 基础用法
venv 是 Python 官方内置的虚拟环境工具,一般不需要额外安装。
3.1 创建虚拟环境
在项目根目录执行:
如果你的系统里 python 指向 Python 2 或命令不存在,可以尝试:
说明:
.venv是虚拟环境目录名,属于常见约定。- 也可以叫
venv、env,但推荐统一使用.venv。 .venv一般需要加入.gitignore,不要提交到代码仓库。
3.2 激活虚拟环境
创建完成后,需要先激活虚拟环境,再安装依赖。
Windows PowerShell
Windows CMD
Git Bash
macOS / Linux
激活成功后,命令行前面通常会出现 (.venv):
3.3 验证当前 Python 和 pip
查看当前 Python 路径:
如果输出路径在项目的 .venv 目录下,说明正在使用虚拟环境。
4. pip 常用命令
建议在虚拟环境中使用 python -m pip,这样可以确保 pip 对应当前 Python 环境。
4.1 升级 pip
4.2 安装包
指定版本:
指定版本范围:
4.3 查看已安装包
查看某个包的详细信息:
4.4 卸载包
4.5 查看依赖是否有问题
5. requirements.txt
requirements.txt 用来记录项目依赖,方便在新电脑、服务器或团队成员机器上还原环境。
5.1 生成依赖文件
在已经安装好依赖的虚拟环境中执行:
示例内容:
5.2 根据依赖文件安装
拿到项目后,一般流程是:
Windows PowerShell 对应流程:
5.3 requirements.txt 使用建议
- 应用项目建议固定版本,例如
requests==2.32.3。 - 学习和小脚本可以简单一些,但也建议保留依赖文件。
- 不要把
.venv目录提交到仓库,提交requirements.txt即可。
6. 退出虚拟环境
完成开发后,可以退出当前虚拟环境:
退出后,命令行前面的 (.venv) 会消失。
7. 常见问题
7.1 PowerShell 提示禁止运行脚本
如果激活时报错:
可以执行:
然后重新激活:
7.2 激活了虚拟环境,但包还是找不到
常见原因:
- 包安装到了其他 Python 环境。
- IDE 没有选择项目的
.venv解释器。 - 终端没有真正激活虚拟环境。
排查命令:
在 VS Code、PyCharm 等 IDE 中,也要手动选择 .venv 中的 Python 解释器。
7.3 应该用 pip 还是 pip3
在虚拟环境里推荐使用:
这样最稳定,不容易把包装到错误环境。
7.4 可以删除 .venv 吗
可以。.venv 只是本地虚拟环境目录,不是源码。
如果环境乱了,可以删除后重新创建:
Windows PowerShell:
7.5 requirements.txt 里依赖太多怎么办
pip freeze 会把当前环境中的所有包都写进去,包括间接依赖。
新手阶段可以先接受这种方式。项目复杂后,可以考虑使用 uv、poetry 等工具管理直接依赖和锁文件。
8. uv / conda / poetry 与 venv 的简单对比
简单选择建议:
- 初学 Python:先学
venv + pip + requirements.txt。 - 想提升安装速度:了解
uv。 - 做数据科学或机器学习:可以学习
conda。 - 做可维护的正式项目或 Python 包:可以学习
poetry。
9. 一套推荐的新项目流程
macOS / Linux:
Windows PowerShell:
后续再次进入项目时,只需要:
Windows PowerShell:

