-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
存在的问题
- 项目一开始的依赖库只是通过将依赖声明在 requirements.txt 中。
虽然都指定了版本,但是依赖的依赖的版本可能并没有锁定。
所以需要优化。 - 项目依赖只是在 requirements.txt 中通过注释声明了各依赖的作用。往往造成生产环境也安装了不必要的依赖。
解决方案
首先更新 pip 本身依赖库。
安装 pip-tools 作为依赖管理工具。
-
最上层依赖分为生产环境依赖库和开发依赖库。
-
使用以
.in为后缀的文件声明项目直接依赖。使用.txt结尾的用来freeze所有直接间接依赖。 -
创建一个
common.in文件声明公共依赖,dev.in继承common.in用于声明开发环境依赖。prod.in同样继承common.in声明生产环境依赖。
可以使用pip-compile requirements/common.in -o requirements/common.txt来将冻结依赖。 -
直接依赖,应该在依赖后面或前面另起一行,简单描述为何增加此依赖。
需要添加依赖时可以先修改对应的 .in 文件。然后执行。
./requirements/update_locked_requirements.sh
如开发环境中,再根据需要执行相应的 pip install -r requirements/dev.txt
Reactions are currently unavailable