Python 虚拟环境与 pip 教程:告别版本冲突
摘要
虚拟环境解决 Python 包版本冲突。本教程依据 Python 官方文档,介绍 venv 创建与激活(Linux/macOS/Windows)、pip 常用命令、requirements.txt 导出与还原、清华镜像加速,并对比 uv、poetry、conda 等进阶工具。
Python 虚拟环境与 pip 使用教程
装 Python 包装到版本冲突、全局环境一团糟?虚拟环境(venv)就是解药:每个项目一套独立的包环境,互不干扰、随时删掉重来。本教程依据 Python 官方文档(docs.python.org,venv 与 pip 章节)整理。
一、为什么需要虚拟环境
pip 默认把包装进全局环境,两个项目依赖不同版本的同一个库时就必然冲突。虚拟环境相当于"每个项目一个独立的小 Python",激活后装的所有包都只进这个项目。
二、创建与激活(标准库 venv)
激活(不同系统命令不同):
激活后命令行前面会出现 (.venv) 标记,此时 python 和 pip 都指向虚拟环境内的版本。退出用 deactivate。
VS Code 会自动识别项目里的 .venv,打开终端时自动激活,右下角可以看到当前解释器。
三、pip 常用命令
四、requirements.txt:项目依赖清单
把当前环境导出成清单:
内容形如 requests==2.32.3。换电脑或部署时一条命令还原:
这份清单要提交进 Git,.venv 目录则写进 .gitignore 不要提交。
五、国内加速:换 pip 源
临时使用清华镜像:
永久设置(写进 pip 配置):
六、进阶工具一览
工具 | 特点 |
|---|---|
| 标准库自带,零安装,入门首选 |
| Rust 写的新工具,安装依赖快几个数量级,兼容 pip 生态 |
| 依赖管理 + 打包一体,锁定版本更严格 |
| 数据科学常用,能管 Python 本身的版本 |
新项目也可以直接尝试 uv(官方安装:curl -LsSf https://astral.sh/uv/install.sh | sh),它把 venv、pip、pip-tools 的活全包了,命令是 uv venv、uv pip install。
七、总结
需求 | 命令 |
|---|---|
建环境 |
|
激活 |
|
装包 |
|
导出依赖 |
|
还原环境 |
|
加速 | 换清华源 |
记住黄金法则:先激活虚拟环境,再 pip install。全局环境只留给工具类安装,项目依赖一律进 venv。
