インストールされたPythonパッケージ依存ツリーを表示します.

27647 ワード

侵害があれば、作者に連絡してください.転載は出典を明記してください.他人を助けて自分を記録する.
目次
  • タグ
  • 改訂履歴
  • 説明
  • を使用します.
  • pipdeptree
  • をインストールします.
  • pipdeptreeバージョン
  • を参照してください.
  • 直接使用
  • 依存ツリー
  • をfreeze形式で表示する.
  • は、依存パケットおよび依存パケット
  • を含むすべてのパケットの依存ツリーを表示する.
  • 逆転依存ツリー
  • は、いくつかのパケットの依存ツリー
  • だけを表示します.
  • は、いくつかのパケットの依存ツリー
  • を表示しない.
  • は、すべてのパケットの依存ツリーをJsonフォーマットを使用して表示し、依存パケットと依存パケット
  • を含む.
  • Jsonフォーマットを使用して、トップレベルの依存ツリーのみを表示し、依存パケットの依存ツリー
  • を含まない.
  • 「ヘルプ」を使用して、より詳細な情報を取得する
  • .
    ラベル
    Pythonは管理に依存して、Pythonは管理を包んで、Python、管理に依存して、管理を包んで、木に依存して、情報に依存して、pip、pipdeptree.
    歴史を改訂する
  • 2020-04-24:初編集.
  • 説明
    Pythonは仮想環境(virtualnv)ツールがあり、プロジェクト間の依存性を管理することができますが、プロジェクト内の依存樹は依然として混乱しています.JavaのMavenのようなdependency treeがあれば、すべてのツリー情報をキーで確認することができます.そこで、インターネットでPythonがインストールしたパッケージの依存ツリー情報を確認するためのツールのpipdeptreeを見つけました.使用方法は以下の通りです.
    使用
    pipdeptreeをインストールします
    (temp-test) [adam@ZCY ~]$ pip install pipdeptree
    
    Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
    Collecting pipdeptree
      Downloading 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 -v
    
    0.13.2
    
    直接使用
    (temp-test) [adam@ZCY ~]$ pipdeptree
    
    Django==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 -f
    
    Django==2.2.12
      pytz==2019.3
      sqlparse==0.3.1
    pipdeptree==0.13.2
      pip==20.0.2
    setuptools==45.2.0
    wheel==0.34.2
    
    すべてのパケットの依存ツリーを表示します.依存パケットと依存パケットを含みます.
    (temp-test) [adam@ZCY ~]$ pipdeptree -a
    
    Django==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 -r
    
    pip==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 django
    
    Django==2.2.12
      - pytz [required: Any, installed: 2019.3]
      - sqlparse [required: Any, installed: 0.3.1]
    
    いくつかのパケットの依存ツリーを表示しません.
    (temp-test) [adam@ZCY ~]$ pipdeptree -e django
    
    pipdeptree==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 -h
    
    usage: 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 packages
    
    optional 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 show
                            globally 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 but
                            return 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 are
                            present. The default is "suppress".
      -r, --reverse         Shows the dependency tree in the reverse fashion ie.
                            the sub-dependencies are listed with the list of
                            packages that need them under them.
      -p PACKAGES, --packages PACKAGES
                            Comma separated list of select packages to show in the
                            output. If set, --all will be ignored.
      -e PACKAGES, --exclude PACKAGES
                            Comma separated list of select packages to exclude
                            from 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 option
                            overrides all other options.
      --json-tree           Display dependency tree as json which is nested the
                            same way as the plain text output printed by default.
                            This option overrides all other options (except
                            --json).
      --graph-output OUTPUT_FORMAT
                            Print a dependency graph in the specified output
                            format. Available are all formats supported by
                            GraphViz, e.g.: dot, jpeg, pdf, png, svg