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


当前回答

下面是一个python代码解决方案,它将返回已安装模块的列表。可以很容易地修改代码以包含版本号。

import subprocess
import sys
from pprint import pprint

installed_packages = reqs = subprocess.check_output([sys.executable, '-m', 'pip', 'freeze']).decode('utf-8')
installed_packages = installed_packages.split('\r\n')
installed_packages = [pkg.split('==')[0] for pkg in installed_packages if pkg != '']
pprint(installed_packages)

其他回答

试试这些

pip list

or

pip freeze

有很多想法,我首先思考的是这两个:

pip

缺点:不总是安装

帮助(“模块”)

缺点:输出到控制台;使用损坏的模块(参见ubuntu…)可以段错误

我需要一个简单的方法,使用基本库,并与旧的python 2.x兼容

我明白了:listmodules.py

在2.5版本的文档源目录中隐藏了一个小脚本,它列出了Python安装的所有可用模块。

优点:

只使用imp、sys、os、re、time 设计用于运行Python 1.5.2及更新版本 源代码非常紧凑,所以你可以很容易地修补它,例如传递一个有bug的模块的异常列表(不要试图导入它们)

从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 shell中已安装的包,可以使用help命令,如下所示

>>> help('modules package')

在windows上,在cmd中输入这个

c:\python\libs>python -m pip freeze