虚拟解释器环境 venv
理解虚拟环境的作用与核心价值
掌握 venv 的创建、激活、退出、删除操作
学会用 requirements.txt 管理和迁移依赖
核心讲解
(1)为什么需要虚拟环境
Python 默认是全局环境,所有项目共用一套库。不同项目需要的库版本不同,会出现版本冲突。虚拟环境可以给每个项目创建独立的 Python 环境,库互相隔离,互不影响。
(2)venv 模块
Python3.3+ 内置了 venv 模块,不需要额外安装,是官方推荐的虚拟环境工具。
(3)核心操作
创建虚拟环境:
python -m venv 环境名激活环境:
Windows:
环境名\Scripts\activatemacOS/Linux:
source 环境名/bin/activate
退出环境:
deactivate删除环境:直接删除环境文件夹即可
(4)依赖管理
导出依赖:
pip freeze > requirements.txt安装依赖:
pip install -r requirements.txt
(5)最佳实践
每个项目一个虚拟环境,环境名一般叫
venv虚拟环境文件夹加入
.gitignore,不提交到版本控制只把
requirements.txt提交,别人拿到可以一键安装依赖安装库一定要先激活对应项目的虚拟环境
操作示例
# ===== 1. 创建虚拟环境 =====
# 在项目目录下执行,创建名为venv的虚拟环境
python -m venv venv
# ===== 2. 激活虚拟环境 =====
# Windows cmd
venv\Scripts\activate
# Windows PowerShell
.\venv\Scripts\Activate.ps1
# macOS / Linux
source venv/bin/activate
# 激活成功后,命令行前面会出现 (venv) 标识
# ===== 3. 环境内操作 =====
# 查看当前pip,确认是虚拟环境的
pip --version
# 安装项目需要的库
pip install requests openpyxl
# ===== 4. 导出依赖 =====
pip freeze > requirements.txt
# ===== 5. 退出虚拟环境 =====
deactivate
# ===== 6. 新环境安装依赖 =====
# 别人拿到项目,创建并激活环境后
pip install -r requirements.txt
常见误区
忘记激活环境:安装库时没激活虚拟环境,装到全局去了,项目里还是用不了
把虚拟环境提交 git:venv 文件夹很大,而且和系统绑定,一定要加入 ignore
全局环境乱装库:什么库都装到全局,导致环境臃肿、版本冲突
移动项目目录:虚拟环境里的路径是绝对路径,移动文件夹后环境会失效,重建即可
环境名混淆:多个项目环境名一样,分不清哪个是哪个,看命令行前缀
课后练习
创建一个新的虚拟环境,激活后查看 Python 版本
在虚拟环境中安装 requests 库,导出 requirements.txt
删除虚拟环境,重新创建,用 requirements.txt 一键安装依赖
思考:虚拟环境和 conda 有什么区别?

