pip freeze 是导出当前 Python 环境所有已安装第三方包及其精确版本号的标准命令;可直接显示或保存为 requirements.txt,推荐在虚拟环境中运行,并可用 pipreqs 生成最小化依赖清单。

直接运行 pip freeze 命令就能导出当前 Python 环境中所有已安装的第三方包及其精确版本号,这是生成依赖清单最常用、最标准的方式。
基础命令:导出到终端或文件
在命令行中执行:
-
pip freeze—— 直接在终端显示全部包列表(格式如requests==2.31.0) -
pip freeze > requirements.txt—— 将结果保存为requirements.txt文件,便于后续复现环境
只导出显式安装的包(排除依赖依赖)
pip freeze 默认列出所有已安装包,包括被间接安装的依赖项。若只想导出你手动执行 pip install 安装的主包(即顶层依赖),可结合 pip list --not-required 或使用第三方工具:
- 推荐用
pipreqs(需先安装:pip install pipreqs)
运行pipreqs ./(当前目录),它会自动分析项目 Python 文件中的import,生成最小化、项目实际用到的依赖清单 - 注意:
pip freeze本身不区分“主安装”和“传递依赖”,无法原生实现该过滤
确保环境纯净再导出
为避免导出系统级或全局安装的干扰包,建议在虚拟环境中操作:
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
- 创建并激活虚拟环境:
python -m venv myenv→source myenv/bin/activate(Linux/macOS)或myenv\Scripts\activate(Windows) - 确认当前环境干净后,再运行
pip freeze > requirements.txt - 可加
--exclude-editable参数跳过本地开发模式(pip install -e .)安装的包
验证与复现依赖环境
导出的 requirements.txt 可用于快速重建相同环境:
- 在新环境里运行:
pip install -r requirements.txt - 如需检查是否有冲突或过时包,可配合
pip check或pip list --outdated - 生产环境建议锁定所有版本(
pip freeze默认即如此),避免隐式升级引发问题
不复杂但容易忽略:导出前记得更新 pip 自身(python -m pip install --upgrade pip),避免因旧版 pip 导致某些包版本识别异常。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










