方法 1:使用 pip freeze(适用于明确所有依赖的场景)
激活项目的虚拟环境(推荐使用虚拟环境隔离依赖):
创建虚拟环境(如果尚未创建)
python -m venv venv
激活虚拟环境
Windows:
venv\Scripts\activate
Linux/Mac:
source venv/bin/activate
安装项目依赖:
确保所有依赖已通过 pip install 安装到虚拟环境中。
生成 requirements.txt:
pip freeze > requirements.txt
注意:这会导出当前环境中所有已安装的包,包括间接依赖,可能导致文件臃肿。
方法 2:使用 pipreqs(推荐,自动提取项目实际使用的依赖)
pipreqs 会根据项目代码中的 import 语句自动生成最小化的依赖列表,更精准。
安装 pipreqs:
pip install pipreqs
生成 requirements.txt:
pipreqs . --encoding=utf8 --force
–force:覆盖已有的 requirements.txt。
–encoding=utf8:避免编码问题。
方法 3:使用 pigar(类似 pipreqs,但支持更多格式)
安装 pigar:
pip install pigar
生成依赖文件:
默认生成名为 requirements.txt 的文件。
方法 4:手动维护(适用于精确控制依赖版本)
如果项目依赖较少或有特殊版本要求,可以直接手动编辑 requirements.txt,格式如下:
包名==版本号
示例:
Flask==2.0.1
requests>=2.26.0
numpy<1.22.0
常见问题
如何区分开发和生产依赖?
手动维护两个文件:
requirements.txt:生产依赖。
requirements_dev.txt:开发依赖(包含测试工具等)。
使用 pip install -r requirements.txt 安装生产依赖。
如何安装 requirements.txt 中的依赖?
pip install -r requirements.txt
最佳实践
始终使用虚拟环境,避免污染全局环境。
优先使用 pipreqs 或 pigar 生成最小化依赖。
定期更新 requirements.txt,确保依赖版本一致。