Python requirements.txt项目依赖管理
简介
requirements.txt
是 Python 项目中用来记录项目所依赖的第三方库及其版本信息 的一个文本文件。
它主要用于:
- 安装依赖:别人拿到你的项目后,可以一键安装所有依赖。
- 版本锁定:确保开发、测试、生产环境使用完全一致的库版本,避免“在我电脑上能跑,怎么你那就不行”的问题。
常用命令
1、生成 requirements.txt
在你当前的 Python 环境中,使用以下命令生成:
pip freeze > requirements.txt
pip freeze
指令会列出当前环境中所有已安装的包和版本。
2、安装 requirements.txt
中的依赖
别人拿到你的项目后,只需运行:
pip install -r requirements.txt
就可以一键安装所有依赖,和你开发时用的版本完全一致。
3、更新 requirements.txt
当安装了新库或升级了版本,需要更新 requirements.txt
文件:
pip freeze > requirements.txt
备注:
对于大型项目,可以写多个依赖文件:
requirements.txt
(通用依赖)requirements-dev.txt
(开发依赖,如 pytest、black、mypy)requirements-prod.txt
(生产环境依赖)
示例:
# 安装通用依赖
pip install -r requirements.txt
# 开发时额外安装
pip install -r requirements-dev.txt
精简优化:
通常直接通过 pip freeze > requirements.txt
指令生成的依赖会有冗余,为了规避这种情况,我们可以通过
pipreqs
库解决!!!
1、安装
pip install pipreqs
2、精简requirement.txt文件
pipreqs ./ --force --encoding=utf-8
指令该指令后,会扫描项目中的 .py
文件中的 import
语句,并生成一个全新的、只包含实际使用库的 requirements.txt
,并覆盖旧文件。
备注:
版本依赖问题可以去官网查阅,如:PyMySQL
https://pypi.org/project/PyMySQL/
评论区