Python依赖管理核心是pip与requirements.txt:pip用于安装/升级/卸载包,requirements.txt导出(pip freeze或pipreqs)和还原(pip install -r)依赖,需配合虚拟环境、区分开发/生产依赖并定期更新验证。

Python项目依赖管理的核心是pip和requirements.txt文件。用对了,多人协作、环境复现、部署上线都更稳;用错了,就容易出现“在我电脑上能跑”的尴尬。
pip基础操作:安装、升级、卸载
pip是Python默认的包管理工具,几乎所有现代Python环境都自带。常用命令如下:
-
安装包:
pip install requests(安装最新版)或pip install requests==2.31.0(指定版本) -
升级包:
pip install --upgrade requests,也可加--force-reinstall强制重装 -
卸载包:
pip uninstall flask,会提示确认,加-y跳过确认 -
查看已装包:
pip list(简洁列表),pip list --outdated查可升级项
生成requirements.txt:记录当前环境依赖
requirements.txt不是手写的清单,而是从真实环境中导出的快照,确保别人能复现一模一样的依赖状态。
-
导出全部已装包:
pip freeze > requirements.txt—— 简单直接,但可能包含你没主动安装的间接依赖(如Django自动带的sqlparse) -
只导出顶层依赖(推荐):
pipreqs . --force(需先pip install pipreqs)。它分析项目代码里的import,只列出显式用到的包,更干净 -
注意编码与路径:Windows用户若遇中文乱码,可在命令前加
chcp 65001切换UTF-8;导出时确保在项目根目录执行
用requirements.txt还原环境
拿到别人的项目,靠这一行就能搭起一致环境:
立即学习“Python免费学习笔记(深入)”;
-
安装所有依赖:
pip install -r requirements.txt -
跳过已装包,只装缺失项:
pip install --no-deps -r requirements.txt(不常用,一般不用) -
严格按版本安装(含子依赖约束):
pip install --force-reinstall --no-deps -r requirements.txt+ 手动再装顶层包(进阶用法,多数情况pip install -r已足够) - 常见问题处理:如果安装失败,先检查Python版本是否匹配(如某些包不支持Python 3.12),再看报错里是否有编译依赖(如lxml需要系统级libxml2)
进阶建议:让依赖管理更可靠
光会用还不够,几个关键习惯能避免90%的依赖踩坑:
-
不要长期共用一个全局环境:始终用
python -m venv venv创建项目专属虚拟环境,激活后再pip操作 -
区分开发与生产依赖:用
requirements-dev.txt额外列出pytest、black等工具包,主requirements.txt只放运行必需项 -
定期更新并验证:每月执行一次
pip list --outdated,挑关键包升级后跑一遍测试,再更新requirements.txt -
避免用
pip install *通配符:它会安装当前目录所有.py文件为包,极易误操作










