Python 依赖管理
推荐:
1、pipdeptree:https://pypi.org/project/pipdeptree/
2、poetry :https://github.com/python-poetry/poetry(待了解)
pipdeptree
树状图的形式显示依赖情况
安装flask模块后 Pipdeptree 和freeze 对比显示 (pip install flask 安装flask模块同时也会安装其依赖模块)
- 安装Pipdeptree
pip install pipdeptree
- 在命令行中查看依赖
pipdeptree
卸载flask 及其依赖模块
- 只卸载flask 而不会卸载其依赖的模块
pip uninstall flask
- 卸载flask 及其依赖模块
pip install pip-autoremove
pip-autoremove flask -y
pipdeptree编写requirements.txt
- 只获取顶层packages
pipdeptree -f --warn silence | grep -E '^[a-zA-Z0-9\-]+' > requirements.txt
- 获取所有层级packages 并按缩进显示(可能会有重复package)
pipdeptree -f | tee requirements.txt
- 获取所有层级packages 去除重复的packages并按缩进显示(以丢失缩进为代价)
pipdeptree -f | sed 's/ //g' | sort -u > requirements.txt
将 pipdeptree 与外部工具结合使用
- 输出所有包及其直接依赖项的平面列表(不是很实用)
pipdeptree --json
- 获取所有包及其直接依赖嵌套json(实用)
pipdeptree --json-tree
更多用法:
pipdeptree -h