Python依赖管理教程_pip与requirements使用方法

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还原环境

拿到别人的项目,靠这一行就能搭起一致环境:

  • 安装所有依赖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文件为包,极易误操作