在 macOS 上导出 Python 虚拟环境依赖清单,首选 pip freeze > requirements.txt 导出全部精确版本包;若需精简为项目实际 import 的顶层依赖,推荐用 pipreqs . --force。
在 macos 上使用 python 虚拟环境时,导出依赖清单文件(通常是 requirements.txt)的核心命令是 pip freeze,但要注意它只导出当前环境中已安装的包及其精确版本。以下是实用、清晰的操作步骤:
确认你处于目标虚拟环境中
导出前必须激活你要导出的虚拟环境,否则会导出系统 Python 或其他环境的包:
- 进入项目目录(含
venv或.venv文件夹) - 运行:
source venv/bin/activate(或source .venv/bin/activate) - 终端提示符前出现
(venv)或类似标识,说明已激活
用 pip freeze 导出完整依赖列表
这是最常用方式,适合部署或复现环境:
- 执行:
pip freeze > requirements.txt - 生成的文件包含所有包名和精确版本号,例如:
requests==2.31.0 - 注意:它也会列出间接依赖(即你没直接安装、但被其他包依赖的包)
用 pipreqs 生成仅顶层依赖(推荐用于开发)
如果你只想导出项目代码中 实际 import 使用到的包(不含冗余依赖),用 pipreqs 更合理:
- 先安装:
pip install pipreqs - 在项目根目录运行:
pipreqs . --force - 它会扫描
.py文件中的 import 语句,生成更精简的requirements.txt - 优点:避免把测试工具(如 pytest)或构建依赖(如 setuptools)误写入生产清单
补充建议
(可选但实用)
立即学习“Python免费学习笔记(深入)”;
- 导出后建议检查文件内容,删掉本地开发专用包(如
ipdb、black),或单独存为dev-requirements.txt - 若用
poetry或pipenv,应优先使用它们原生命令(如poetry export -f requirements.txt -o requirements.txt) - 不建议直接用
pip list --outdated导出——它只显示可升级包,不是依赖清单


















