1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
3 NAMEBASE= python-pipdeptree
7 SDESC[py310]= Utility to show package dependency tree (3.10)
8 SDESC[v11]= Utility to show package dependency tree (3.11)
10 CONTACT= Python_Automaton[python@ironwolf.systems]
13 SITES[main]= PYPIWHL/c8/08/25d2c29f6ea9f71ea6db2fc41a526708f12921f66984cf54febd8690ef2b
14 DISTFILE[1]= pipdeptree-2.7.1-py3-none-any.whl:main
19 OPTIONS_AVAILABLE= PY310 PY311
20 OPTIONS_STANDARD= none
21 VOPTS[py310]= PY310=ON PY311=OFF
22 VOPTS[v11]= PY310=OFF PY311=ON
24 DISTNAME= pipdeptree-2.7.1.dist-info
28 [PY310].USES_ON= python:py310,wheel
30 [PY311].USES_ON= python:v11,wheel
32 [FILE:3032:descriptions/desc.single]
37 status]](https://results.pre-commit.ci/latest/github/tox-dev/pipdeptree/main)
39 `pipdeptree` is a command line utility for displaying the installed python
40 packages in form of a dependency tree. It
41 works for packages installed globally on a machine as well as in a
42 virtualenv. Since `pip freeze` shows all dependencies
43 as a flat list, finding out which are the top level packages and which
44 packages do they depend on requires some effort.
45 It\'s also tedious to resolve conflicting dependencies that could have been
46 installed because older version of `pip`
47 didn\'t have true dependency resolution[^1]. `pipdeptree` can help here by
48 identifying conflicting dependencies
49 installed in the environment.
51 To some extent, `pipdeptree` is inspired by the `lein deps :tree` command
57 pip install pipdeptree
60 pipdeptree has been tested with Python versions `3.7`, `3.8`, `3.9` and
63 ## Running in virtualenvs
67 If you want to run pipdeptree in the context of a particular virtualenv,
68 you can specify the `--python` option. Note
69 that this capability has been recently added in version `2.0.0`.
71 Alternatively, you may also install pipdeptree inside the virtualenv and
72 then run it from there.
76 To give you a brief idea, here is the output of `pipdeptree` compared with
85 git+git@github.com:naiquevin/lookupy.git@cdbe30c160e1c29802df75e145ea4ad903c05386#egg=Lookupy
87 pipdeptree @ file:///private/tmp/pipdeptree-2.0.0b1-py3-none-any.whl
91 And now see what `pipdeptree` outputs,
95 Warning!!! Possibly conflicting dependencies found:
97 - MarkupSafe [required: >=0.23, installed: 0.22]
98 ------------------------------------------------------------------------
100 - itsdangerous [required: >=0.21, installed: 0.24]
101 - Jinja2 [required: >=2.4, installed: 2.11.2]
102 - MarkupSafe [required: >=0.23, installed: 0.22]
103 - Werkzeug [required: >=0.7, installed: 0.11.2]
106 - pip [required: >=6.0.0, installed: 20.1.1]
111 ## Is it possible to find out why a particular package is installed?
115 Yes, there\'s a `--reverse` (or simply `-r`) flag for this. To find out
116 which packages depend on a particular
117 package(s), it can be combined with `--packages` option as follows:
120 $ pipdeptree --reverse --packages itsdangerous,MarkupSafe
121 Warning!!! Possibly conflicting dependencies found:
123 - MarkupSafe [required: >=0.23, installed: 0.22]
124 ------------------------------------------------------------------------
126 - Flask==0.10.1 [requires: itsdangerous>=0.21]
128 - Jinja2==2.11.2 [requires: MarkupSafe>=0.23]
129 - Flask==0.10.1 [requires: Jinja2>=2.4]
132 ## What\'s with the warning about conflicting dependencies?
136 bb0ffa98a49b0b4076364b367d1df37fcf6628ec3b5cbb61cf4bbaedc7502db0 17770 pipdeptree-2.7.1-py3-none-any.whl