补充基于Docker的工作流程的包管理器
项目描述
PipFlow
背景
Pipflow是为使用Docker和云原生技术部署Python软件的开发者设计的。在构建docker镜像时,我们的限制是
- 镜像越瘦越好。
- 镜像层越少越好。
- 不要在你的Dockerfile中安装新的包管理器来重新发明轮子。这些工具倾向于使用锁文件,这在一般情况下是可以的,但在Docker中它们是多余的,因为我们已经有了固定依赖项的方法:Docker镜像层。
这让我们只剩下一个选择:继续使用普通的pip
,但创建一些新的工作流程来改善开发者的体验。
例如,Pipflow替换了这个工作流程
$ pip3 install <new-package>
$ pip3 freeze | grep <new-package> >> requirements.txt
$ docker build ... # (A redudant install)
为这个
$ pipflow add <package>
设置
仅在你的主机操作系统上安装pipflow
(macOS、Windows、Linux等)。不要将Pipflow添加到你的requirements.txt
文件中。
pip3 install pipflow
用法
添加新包
pipflow add <package-name>
删除包
pipflow remove <package-name>
升级包版本
pipflow upgrade <package-name>
升级所有包
pipflow upgrade-all
查看所有可升级的包
pipflow view-all
许可
MIT版权(c)2021 Michael。