如有侵权,请联系作者。
转载请注明出处。
帮助他人,记录自己。

目录

  • 标签
  • 修订历史
  • 说明
  • 使用
    • 安装 pipdeptree
    • 查看 pipdeptree 版本
    • 直接使用
    • 用 freeze 格式显示依赖树
    • 显示所有包的依赖树,包括依赖包和被依赖包
    • 反转依赖树
    • 只显示某些包的依赖树
    • 不显示某些包的依赖树
    • 使用 Json 格式显示所有包的依赖树,包括依赖包和被依赖包
    • 使用 Json 格式只显示顶层依赖树,不包括被依赖包的依赖树
    • 使用“帮助”获取更多详细信息

标签

Python 依赖管理,Python 包管理,Python,依赖管理,包管理,依赖树,依赖信息,pip,pipdeptree。

修订历史

  • 2020-04-24:首次编辑。

说明

Python 虽然有虚拟环境(virtualenv)工具可以方便管理项目之间的依赖,但是项目内的依赖树依然有些混乱,如果有类似 Java 中 Maven 的 dependency tree 可以一键查看所有依赖树信息就好了。于是在网上找到一款可以方便查看 Python 已安装包的依赖树信息查看工具 pipdeptree。使用方法如下:

使用

安装 pipdeptree

(temp-test) [adam@ZCY ~]$ pip install pipdeptreeLooking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting pipdeptreeDownloading http://mirrors.aliyun.com/pypi/packages/12/64/26c7df3ad833cd6e8b9735c5958b25d6aef1617c915b2731baedfbeee712/pipdeptree-0.13.2-py3-none-any.whl (16 kB)
Requirement already satisfied: pip>=6.0.0 in ./virtualenv/temp-test/lib/python3.6/site-packages (from pipdeptree) (20.0.2)
Installing collected packages: pipdeptree
Successfully installed pipdeptree-0.13.2

查看 pipdeptree 版本

(temp-test) [adam@ZCY ~]$ pipdeptree -v0.13.2

直接使用

(temp-test) [adam@ZCY ~]$ pipdeptreeDjango==2.2.12- pytz [required: Any, installed: 2019.3]- sqlparse [required: Any, installed: 0.3.1]
pipdeptree==0.13.2- pip [required: >=6.0.0, installed: 20.0.2]
setuptools==45.2.0
wheel==0.34.2

用 freeze 格式显示依赖树

(temp-test) [adam@ZCY ~]$ pipdeptree -fDjango==2.2.12pytz==2019.3sqlparse==0.3.1
pipdeptree==0.13.2pip==20.0.2
setuptools==45.2.0
wheel==0.34.2

显示所有包的依赖树,包括依赖包和被依赖包

(temp-test) [adam@ZCY ~]$ pipdeptree -aDjango==2.2.12- pytz [required: Any, installed: 2019.3]- sqlparse [required: Any, installed: 0.3.1]
pip==20.0.2
pipdeptree==0.13.2- pip [required: >=6.0.0, installed: 20.0.2]
pytz==2019.3
setuptools==45.2.0
sqlparse==0.3.1
wheel==0.34.2

反转依赖树

(temp-test) [adam@ZCY ~]$ pipdeptree -rpip==20.0.2- pipdeptree==0.13.2 [requires: pip>=6.0.0]
pytz==2019.3- Django==2.2.12 [requires: pytz]
setuptools==45.2.0
sqlparse==0.3.1- Django==2.2.12 [requires: sqlparse]
wheel==0.34.2

只显示某些包的依赖树

(temp-test) [adam@ZCY ~]$ pipdeptree -p djangoDjango==2.2.12- pytz [required: Any, installed: 2019.3]- sqlparse [required: Any, installed: 0.3.1]

不显示某些包的依赖树

(temp-test) [adam@ZCY ~]$ pipdeptree -e djangopipdeptree==0.13.2- pip [required: >=6.0.0, installed: 20.0.2]
setuptools==45.2.0
wheel==0.34.2

使用 Json 格式显示所有包的依赖树,包括依赖包和被依赖包

(temp-test) [adam@ZCY ~]$ pipdeptree -j[{"package": {"key": "wheel","package_name": "wheel","installed_version": "0.34.2"},"dependencies": []},{"package": {"key": "sqlparse","package_name": "sqlparse","installed_version": "0.3.1"},"dependencies": []},{"package": {"key": "setuptools","package_name": "setuptools","installed_version": "45.2.0"},"dependencies": []},{"package": {"key": "pytz","package_name": "pytz","installed_version": "2019.3"},"dependencies": []},{"package": {"key": "pipdeptree","package_name": "pipdeptree","installed_version": "0.13.2"},"dependencies": [{"key": "pip","package_name": "pip","installed_version": "20.0.2","required_version": ">=6.0.0"}]},{"package": {"key": "pip","package_name": "pip","installed_version": "20.0.2"},"dependencies": []},{"package": {"key": "django","package_name": "Django","installed_version": "2.2.12"},"dependencies": [{"key": "sqlparse","package_name": "sqlparse","installed_version": "0.3.1","required_version": null},{"key": "pytz","package_name": "pytz","installed_version": "2019.3","required_version": null}]}
]

使用 Json 格式只显示顶层依赖树,不包括被依赖包的依赖树

(temp-test) [adam@ZCY ~]$ pipdeptree --json-tree[{"key": "django","package_name": "Django","installed_version": "2.2.12","required_version": "2.2.12","dependencies": [{"key": "pytz","package_name": "pytz","installed_version": "2019.3","required_version": "Any","dependencies": []},{"key": "sqlparse","package_name": "sqlparse","installed_version": "0.3.1","required_version": "Any","dependencies": []}]},{"key": "pipdeptree","package_name": "pipdeptree","installed_version": "0.13.2","required_version": "0.13.2","dependencies": [{"key": "pip","package_name": "pip","installed_version": "20.0.2","required_version": ">=6.0.0","dependencies": []}]},{"key": "setuptools","package_name": "setuptools","installed_version": "45.2.0","required_version": "45.2.0","dependencies": []},{"key": "wheel","package_name": "wheel","installed_version": "0.34.2","required_version": "0.34.2","dependencies": []}
]

使用“帮助”获取更多详细信息

(temp-test) [adam@ZCY ~]$ pipdeptree -husage: pipdeptree [-h] [-v] [-f] [-a] [-l] [-u] [-w [{silence,suppress,fail}]][-r] [-p PACKAGES] [-e PACKAGES] [-j] [--json-tree][--graph-output OUTPUT_FORMAT]Dependency tree of the installed python packagesoptional arguments:-h, --help            show this help message and exit-v, --version         show program's version number and exit-f, --freeze          Print names so as to write freeze files-a, --all             list all deps at top level-l, --local-only      If in a virtualenv that has global access do not showglobally installed packages-u, --user-only       Only show installations in the user site dir-w [{silence,suppress,fail}], --warn [{silence,suppress,fail}]Warning control. "suppress" will show warnings butreturn 0 whether or not they are present. "silence"will not show warnings at all and always return 0."fail" will show warnings and return 1 if any arepresent. The default is "suppress".-r, --reverse         Shows the dependency tree in the reverse fashion ie.the sub-dependencies are listed with the list ofpackages that need them under them.-p PACKAGES, --packages PACKAGESComma separated list of select packages to show in theoutput. If set, --all will be ignored.-e PACKAGES, --exclude PACKAGESComma separated list of select packages to excludefrom the output. If set, --all will be ignored.-j, --json            Display dependency tree as json. This will yield "raw"output that may be used by external tools. This optionoverrides all other options.--json-tree           Display dependency tree as json which is nested thesame way as the plain text output printed by default.This option overrides all other options (except--json).--graph-output OUTPUT_FORMATPrint a dependency graph in the specified outputformat. Available are all formats supported byGraphViz, e.g.: dot, jpeg, pdf, png, svg

查看已安装的Python包依赖树相关推荐

  1. python换中包_在Linux中替换已安装的python包中的源代码

    我真的是Linux系统的新手,目前正在Oracle VM VirtualBox上使用Ubuntu linux操作. 我对使用python及其软件包有一些疑问. 已经安装了python以及一个pytho ...

  2. Ubuntu16.04系统查看已安装的python版本,及Python2与Python3之间切换

    1.查看已安装版本 终端输入如下: python2 --version #查看python2安装版本 python3 --version #查看python3安装版本 终端显示如下:系统默认安装2.7 ...

  3. 用pip查看要安装的python包的所有版本

    我使用的是ubuntu20.04,windows下操作相同 文章目录 正文 附 第一点 第二点:可能出现的bug 正文 首先,我的pip版本如下: 然后,就可以通过: : pip index vers ...

  4. 查看pip安装的python包的位置等详细信息

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.切换到指定的python环境 二.列出当前环境下所安装的所有包并对特定包查找 很多小白通过pip安装python包之后, ...

  5. Ubuntu:查看已安装的python版本

    python3 --version 或者 python2 --version 或者 pip list and then you can see it.

  6. Pip/python-如何查看已安装的包有哪些版本?如何查看某个包存在哪些版本?pip list-pip freeze-pip show package

    目录 一.如何查看已安装的包有哪些版本? 1.在terminal终端模式或者cmd命令行模式下 1.1显示所有包pip list和pip freeze 1.2显示指定包findstr.show..__ ...

  7. 查看go 安装了哪些包_如何灵活地进行 Go 版本管理

    本文谈下我对 Go 版本管理的一些思考,并给大家介绍一个小工具,gvm.这个话题说起来也很简单,但如果想用的爽,还是要稍微梳理下. 背景介绍 Go 的版本管理,并非包的依赖管理.平时的工作中,很多时候 ...

  8. 使用 pip freeze 获取安装的 Python 包

    使用 pip freeze 获取安装的 Python 包 有时,我们为了代码稳定.代码迁移等,需要获取当前 Python 工程依赖包的安装列表.这个列表要包括需要安装什么包.以及包的版本.这便是:re ...

  9. 怎么安装python的包_『本地python包怎么通过pyenv安装』python包本地安装教程

    python怎么安装第三方类库 pip 大多数库都可以通pip安装,安装方法为,令行窗口输入 pip install libname libname名 某些库通过pip安装不了,可能是因为没有打包上传 ...

最新文章

  1. c#_StringBuilder的用法总结
  2. PYTHON的主模块
  3. OracleDB的数据库名,实例名,服务名,数据库域名,全局数据库名的简单介绍
  4. Build path contains duplicate entry
  5. 转载通过 Docker 实现传统应用程序的现代化
  6. ENSP配置 实例四 默认路由配置
  7. Kotlin学习笔记 第二章 类与对象 第七节 数据类
  8. notepad 没有plugin manager_和平精英巅峰赛正式开启,热度却没有象中那么高!
  9. python中文字体下载_python中matlabplot和seaborn中文字体显示的一种解决方案
  10. Python风格总结:判断元素是否在列表中存在
  11. html5引擎 laya,传说中的HTML5超级引擎layabox今日开放
  12. php多次登录失败,PHPCMS登录后台失败次数过多解决办法
  13. 基于Java实现的植物大战僵尸游戏
  14. Photoshop:渐变工具的使用
  15. 面试官最不喜欢不认同的5个跳槽理由
  16. 机器视觉引导定位系统,工业视觉定位检测
  17. ea服务器和微软服务器,任天堂和微软竟然合作了?消息太过震撼,连推特服务器都挤爆了...
  18. SQL脚本通过汉字转换为拼音全拼
  19. MongoDB删除记录
  20. #sql server 导入excel数据报错 未在本地计算机上注册“Microsoft.ACE.OLEDB.16.0”提供程序

热门文章

  1. 组FreeNas11.3的一点心得
  2. 曼尼托巴大学计算机科学硕士,曼尼托巴大学计算机科学本科申请.pdf
  3. TP-LINK WR740N V5.7刷OpenWrt的一些经验
  4. 真 OO无双之真乱舞书 序言
  5. 重磅!《新一代人工智能伦理规范》发布丨附全文
  6. 锐捷服务器无线认证配置,【WLAN从入门到精通之对接案例】配置802.1X认证示例_Web(锐捷SAM服务器)...
  7. VBA调用系统调色板
  8. 汇编语言--逻辑指令
  9. 独享云虚拟主机、共享云虚拟主机、云服务器 ECS 的区别
  10. 1279 验证角谷猜想