如何获得在计算机上安装的Python模块列表?


当前回答

这会有所帮助

在终端或IPython中输入:

help('modules')

then

In [1]: import                      #import press-TAB
Display all 631 possibilities? (y or n)
ANSI                   audiodev               markupbase
AptUrl                 audioop                markupsafe
ArgImagePlugin         avahi                  marshal
BaseHTTPServer         axi                    math
Bastion                base64                 md5
BdfFontFile            bdb                    mhlib
BmpImagePlugin         binascii               mimetools
BufrStubImagePlugin    binhex                 mimetypes
CDDB                   bisect                 mimify
CDROM                  bonobo                 mmap
CGIHTTPServer          brlapi                 mmkeys
Canvas                 bsddb                  modulefinder
CommandNotFound        butterfly              multifile
ConfigParser           bz2                    multiprocessing
ContainerIO            cPickle                musicbrainz2
Cookie                 cProfile               mutagen
Crypto                 cStringIO              mutex
CurImagePlugin         cairo                  mx
DLFCN                  calendar               netrc
DcxImagePlugin         cdrom                  new
Dialog                 cgi                    nis
DiscID                 cgitb                  nntplib
DistUpgrade            checkbox               ntpath

其他回答

试试这些

pip list

or

pip freeze

从pip 10开始,接受的答案将不再有效。开发团队已经删除了对get_installed_distribution例程的访问。在setuptools中有一个替代函数可以做同样的事情。下面是一个适用于pip 10的替代版本:

import pkg_resources
installed_packages = pkg_resources.working_set
installed_packages_list = sorted(["%s==%s" % (i.key, i.version)
     for i in installed_packages])
print(installed_packages_list)

请让我知道它是否会工作在以前版本的pip,太。

对于任何想知道如何从Python程序调用pip list的人,您可以使用以下方法:

import pip
pip.main(['list])  # this will print all the packages

安装

pip install pkgutil

Code

import pkgutil

for i in pkgutil.iter_modules(None): # returns a tuple (path, package_name, ispkg_flag)
    print(i[1]) #or you can append it to a list

样例输出:

multiprocessing
netrc
nntplib
ntpath
nturl2path
numbers
opcode
pickle
pickletools
pipes
pkgutil

我通常使用pip list来获取包的列表(带有版本)。

当然,这也适用于虚拟环境。要显示只在虚拟环境中安装了什么(而不是全局包),请使用pip list——local。

下面的文档显示了所有可用的pip列表选项,并提供了几个很好的示例。