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


当前回答

如果我们需要列出Python shell中已安装的包,可以使用help命令,如下所示

>>> help('modules package')

其他回答

从外壳开始

ls site-packages

如果没有帮助,你可以这样做。

import sys
import os
for p in sys.path:
    print os.listdir( p )

看看会产生什么。

现在,我自己尝试了这些方法,我得到了广告中所说的:所有的模块。

唉,实际上你不太关心stdlib,你知道安装python会得到什么。

真的,我想要我安装的东西。

令人惊讶的是,实际上效果还不错的是:

pip freeze

返回:

Fabric==0.9.3
apache-libcloud==0.4.0
bzr==2.3b4
distribute==0.6.14
docutils==0.7
greenlet==0.3.1
ipython==0.10.1
iterpipes==0.4
libxml2-python==2.6.21

我说“令人惊讶”是因为包安装工具是人们期望找到这个功能的确切位置,尽管不是在“冻结”的名称下,但python打包是如此奇怪,以至于我惊讶于这个工具是有意义的。Pip 0.8.2, Python 2.7。

pip3 freeze

全局运行此命令-将显示所有全局安装 在虚拟环境上运行此命令-将显示所有本地安装

安装

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

如果我们需要列出Python shell中已安装的包,可以使用help命令,如下所示

>>> help('modules package')