如何获得在计算机上安装的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')