Python 虚拟环境与 pip 教程：告别版本冲突

Python 虚拟环境与 pip 使用教程装 Python 包装到版本冲突、全局环境一团糟？虚拟环境（venv）就是解药：每个项目一套独立的包环境，互不干扰、随时删掉重来。本教程依据 Python 官方文档（docs.python.org，venv 与 pip 章节）整理。一、为什么需要虚拟环境 pip 默认把包装进全局环境，两个项目依赖不同版本的同一个库时就必然冲突。虚拟环境相当于"每个项目一个独立的小 Python"，激活后装的所有包都只进这个项目。二、创建与激活（标准库 venv） cd myproject python3 -m venv .venv # 创建虚拟环境（.venv 是约定俗成的名字）激活（不同系统命令不同）： source .venv/bin/activate # Linux / macOS .venv\Scripts\activate # Windows PowerShell 用 .venv\Scripts\Activate.ps1 激活后命令行前面会出现 (.venv) 标记，此时 python 和 pip 都指向虚拟环境内的版本。退出用 deactivate。 VS Code 会自动识别项目里的 .venv，打开终端时自动激活，右下角可以看到当前解释器。三、pip 常用命令 pip install requests # 安装 pip install "requests>=2.32" # 带版本约束安装 pip install -r requirements.txt # 按清单安装 pip list # 已安装的包 pip show requests # 查看某包信息 pip install --upgrade requests # 升级 pip uninstall requests # 卸载四、requirements.txt：项目依赖清单把当前环境导出成清单： pip freeze > requirements.txt 内容形如 requests==2.32.3。换电脑或部署时一条命令还原： python3 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt 这份清单要提交进 Git，.venv 目录则写进 .gitignore 不要提交。五、国内加速：换 pip 源临时使用清华镜像： pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests 永久设置（写进 pip 配置）： pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 六、进阶工具一览工具特点 venv + pip 标准库自带，零安装，入门首选 uv Rust 写的新工具，安装依赖快几个数量级，兼容 pip 生态 poetry 依赖管理 + 打包一体，锁定版本更严格 conda 数据科学常用，能管 Python 本身的版本新项目也可以直接尝试 uv（官方安装：curl -LsSf https://astral.sh/uv/install.sh | sh），它把 venv、pip、pip-tools 的活全包了，命令是 uv venv、uv pip install。七、总结需求命令建环境 python3 -m venv .venv 激活 source .venv/bin/activate 装包 pip install 包名导出依赖 pip freeze > requirements.txt 还原环境 pip install -r requirements.txt 加速换清华源记住黄金法则：先激活虚拟环境，再 pip install。全局环境只留给工具类安装，项目依赖一律进 venv。