How to list all installed packages and their versions in Python?

前端 未结 12 1966
灰色年华
灰色年华 2020-12-12 10:07

Is there a way in Python to list all installed packages and their versions?

I know I can go inside python/Lib/site-packages and see what files and direc

相关标签:
12条回答
  • 2020-12-12 10:21

    from command line

    python -c help('modules')
    

    can be used to view all modules, and for specific modules

    python -c help('os')
    

    For Linux below will work

    python -c "help('os')"
    
    0 讨论(0)
  • 2020-12-12 10:22

    for using code, for example to check what modules in Hackerrank etc :

    import os
    os.system("pip list")
    
    0 讨论(0)
  • 2020-12-12 10:23

    My take:

    #!/usr/bin/env python3
    
    import pkg_resources
    
    dists = [str(d).replace(" ","==") for d in pkg_resources.working_set]
    for i in dists:
        print(i)
    
    0 讨论(0)
  • 2020-12-12 10:23

    If you're using anaconda:

    conda list
    

    will do it! See: https://conda.io/docs/_downloads/conda-cheatsheet.pdf

    0 讨论(0)
  • 2020-12-12 10:28

    Here's a way to do it using PYTHONPATH instead of the absolute path of your python libs dir:

    for d in `echo "${PYTHONPATH}" | tr ':' '\n'`; do ls "${d}"; done
    

    [ 10:43 Jonathan@MacBookPro-2 ~/xCode/Projects/Python for iOS/trunk/Python for iOS/Python for iOS ]$ for d in `echo "$PYTHONPATH" | tr ':' '\n'`; do ls "${d}"; done
    libpython2.7.dylib pkgconfig          python2.7
    BaseHTTPServer.py      _pyio.pyc              cgitb.pyo              doctest.pyo            htmlentitydefs.pyc     mimetools.pyc          plat-mac               runpy.py               stringold.pyc          traceback.pyo
    BaseHTTPServer.pyc     _pyio.pyo              chunk.py               dumbdbm.py             htmlentitydefs.pyo     mimetools.pyo          platform.py            runpy.pyc              stringold.pyo          tty.py
    BaseHTTPServer.pyo     _strptime.py           chunk.pyc              dumbdbm.pyc            htmllib.py             mimetypes.py           platform.pyc           runpy.pyo              stringprep.py          tty.pyc
    Bastion.py             _strptime.pyc          chunk.pyo              dumbdbm.pyo            htmllib.pyc            mimetypes.pyc          platform.pyo           sched.py               stringprep.pyc         tty.pyo
    Bastion.pyc            _strptime.pyo          cmd.py
    ....
    
    0 讨论(0)
  • 2020-12-12 10:33

    If you have pip install and you want to see what packages have been installed with your installer tools you can simply call this:

    pip freeze
    

    It will also include version numbers for the installed packages.

    Update

    pip has been updated to also produce the same output as pip freeze by calling:

    pip list
    

    Note

    The output from pip list is formatted differently, so if you have some shell script that parses the output (maybe to grab the version number) of freeze and want to change your script to call list, you'll need to change your parsing code.

    0 讨论(0)
提交回复
热议问题