Is there any way to show the dependency trees for pip packages?

前端 未结 2 2043
猫巷女王i
猫巷女王i 2020-12-23 10:44

I have a project with multiple package dependencies, the main requirements being listed in requirements.txt. When I call pip freeze it prints the c

相关标签:
2条回答
  • 2020-12-23 11:19

    You should take a look at pipdeptree:

    $ pip install pipdeptree
    $ pipdeptree -fl
    Warning!!! Cyclic dependencies found:
    ------------------------------------------------------------------------
    xlwt==0.7.5
    ruamel.ext.rtf==0.1.1
    xlrd==0.9.3
    openpyxl==2.0.4
      - jdcal==1.0
    pymongo==2.7.1
    reportlab==3.1.8
      - Pillow==2.5.1
      - pip
      - setuptools
    

    It doesn't generate a requirements.txt file as you indicated directly. However the source (255 lines of python code) should be relatively easy to modify to your needs, or alternatively you can (as @MERose indicated is in the pipdeptree 0.3 README ) out use:

    pipdeptree --freeze  --warn silence | grep -P '^[\w0-9\-=.]+' > requirements.txt
    

    The 0.5 version of pipdeptree also allows JSON output with the --json option, that is more easily machine parseble, at the expense of being less readable.

    0 讨论(0)
  • 2020-12-23 11:40

    Warning: py2 only / abandonware

    yolk can display dependencies for packages, provided that they

    • were installed via setuptools
    • came with metadata that includes dependency information

      $ yolk -d Theano
      Theano 0.6.0rc3
        scipy>=0.7.2
        numpy>=1.5.0
      
    0 讨论(0)
提交回复
热议问题