A command-line utility for displaying installed Python packages as a dependency tree. While pip freeze shows a flat
list, pipdeptree reveals which packages are top-level and what they depend on, including conflicting or circular
dependencies.
pip install pipdeptree
pipdeptreeFlask==0.10.1
- itsdangerous [required: >=0.21, installed: 0.24]
- Jinja2 [required: >=2.4, installed: 2.11.2]
- MarkupSafe [required: >=0.23, installed: 0.22]
- Werkzeug [required: >=0.7, installed: 0.11.2]
Find out why a package is installed:
pipdeptree --reverse --packages markupsafeOutput as JSON, Mermaid, or Graphviz:
pipdeptree -o json
pipdeptree -o mermaid
pipdeptree -o graphviz-svg > deps.svgGet a one-block environment health report (counts, depth, conflicts, cycles, licenses, size):
pipdeptree --summary # aligned text
pipdeptree --summary -o rich # styled table
pipdeptree --summary -o json # machine-readableInspect a tree without installing it. Resolve requirements against a package index (needs the index extra), or read an
already-resolved PEP 751 lock offline:
pip install pipdeptree[index]
pipdeptree from-index "flask" # i is a shorthand alias
pipdeptree from-index --requirements requirements.txt
pipdeptree from-lock pylock.toml # l is a shorthand aliasEvery render flag above, including --summary, works with both subcommands.
For the full documentation, visit pipdeptree.readthedocs.io.