1134

我想获取 Python 安装(UNIX 服务器)中的 Python 模块列表。

如何获取计算机中安装的 Python 模块列表?

4

31 回答 31

1167
help('modules')

在 Python 外壳/提示中。

于 2009-04-11T12:45:45.307 回答
650

解决方案

不要与 pip > 10.0 一起使用!

从 Python 脚本中获取类似pip freeze列表的 50 美分:

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

作为(太长)一个班轮:

sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])

给予:

['behave==1.2.4', 'enum34==1.0', 'flask==0.10.1', 'itsdangerous==0.24', 
 'jinja2==2.7.2', 'jsonschema==2.3.0', 'markupsafe==0.23', 'nose==1.3.3', 
 'parse-type==0.3.4', 'parse==1.6.4', 'prettytable==0.7.2', 'requests==2.3.0',
 'six==1.6.1', 'vioozer-metadata==0.1', 'vioozer-users-server==0.1', 
 'werkzeug==0.9.4']

范围

setuptools此解决方案适用于系统范围或虚拟环境范围,并涵盖由,pip和 ( god forbid )安装的软件包easy_install

我的用例

我将此调用的结果添加到了我的烧瓶服务器,所以当我调用它时,http://example.com/exampleServer/environment我得到了安装在服务器的 virtualenv 上的软件包列表。它使调试变得更加容易。

注意事项

我注意到这种技术的一个奇怪行为 - 当 Python 解释器在与setup.py文件相同的目录中被调用时,它不会列出由setup.py.

重现步骤:

创建虚拟环境
$ cd /tmp
$ virtualenv test_env
New python executable in test_env/bin/python
Installing setuptools, pip...done.
$ source test_env/bin/activate
(test_env) $ 
克隆一个 git reposetup.py
(test_env) $ git clone https://github.com/behave/behave.git
Cloning into 'behave'...
remote: Reusing existing pack: 4350, done.
remote: Total 4350 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (4350/4350), 1.85 MiB | 418.00 KiB/s, done.
Resolving deltas: 100% (2388/2388), done.
Checking connectivity... done.

我们有表现setup.py/tmp/behave

(test_env) $ ls /tmp/behave/setup.py
/tmp/behave/setup.py
从 git repo 安装 python 包
(test_env) $ cd /tmp/behave && pip install . 
running install
...
Installed /private/tmp/test_env/lib/python2.7/site-packages/enum34-1.0-py2.7.egg
Finished processing dependencies for behave==1.2.5a1

如果我们从/tmp

>>> import pip
>>> sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])
['behave==1.2.5a1', 'enum34==1.0', 'parse-type==0.3.4', 'parse==1.6.4', 'six==1.6.1']
>>> import os
>>> os.getcwd()
'/private/tmp'

如果我们从/tmp/behave

>>> import pip
>>> sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])
['enum34==1.0', 'parse-type==0.3.4', 'parse==1.6.4', 'six==1.6.1']
>>> import os
>>> os.getcwd()
'/private/tmp/behave'

behave==1.2.5a1第二个示例中缺少,因为工作目录包含behavesetup.py文件。

我在文档中找不到对此问题的任何参考。也许我会为它打开一个错误。

于 2014-05-27T09:05:42.540 回答
321

现在,我自己尝试了这些方法,我得到了宣传的内容:所有模块。

唉,你真的不太关心标准库,你知道安装 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 打包是如此奇怪,以至于我惊讶于这个工具是有意义的。点 0.8.2,Python 2.7。

于 2011-01-16T03:42:15.970 回答
132

从 pip 1.3 版开始,您可以访问:

pip list

这似乎是“pip freeze”的语法糖。它将列出特定于您的安装或 virtualenv 的所有模块,以及它们的版本号。不幸的是,它不会显示任何模块的当前版本号,也不会洗碗或擦鞋。

于 2013-07-25T22:56:32.387 回答
94
  • ipython你可以在里面输入“ importTab”。

  • 在标准 Python 解释器中,您可以键入“ help('modules')”。

  • 在命令行中,您可以使用.pydoc modules

  • 在脚本中,调用pkgutil.iter_modules().

于 2012-02-08T13:24:27.897 回答
89

我只是用它来查看当前使用的模块:

import sys as s
s.modules.keys()

它显示了在你的 python 上运行的所有模块。

对于所有内置模块,请使用:

s.modules

这是一个包含所有模块和导入对象的字典。

于 2012-06-22T22:02:06.130 回答
64

在普通外壳中只需使用

pydoc modules
于 2013-08-23T09:45:31.870 回答
57

从 pip 10 开始,接受的答案将不再有效。开发团队已删除对get_installed_distributions例程的访问权限。在 for 中有一个替代函数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。

于 2018-04-25T02:58:49.393 回答
36

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

>>> help('modules package')
于 2014-01-02T09:26:40.460 回答
36

无论 Pip 版本如何均有效

在您的 python 编辑器或 IPython 中运行以下命令:

import pkg_resources
installed_packages = {d.project_name: d.version for d in pkg_resources.working_set}
print(installed_packages)

阅读其他答案并将这个组合放在一起,这是Python中最快和最简单的。

查找特定的包

然后,您可以方便地从您的字典中轻松获取项目,即

installed_packages['pandas']>> '1.16.4'

很好地使用点子列表

!pip list如果在那里工作,将在您的 jupyter 笔记本中运行,简化“快速检查”结合其他实用程序,如 grep(如果您已安装) pip list | grep pandas 将获得您当前的 pandas 版本,例如

于 2020-04-03T15:37:56.540 回答
25

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

当然,这也适用于虚拟环境。要显示仅在虚拟环境(而不是全局包)中安装的内容,请使用pip list --local.

这是显示所有可用pip list选项的文档,并带有几个很好的示例。

于 2018-07-06T19:10:03.770 回答
18

这将有助于

在终端或 IPython 中,键入:

help('modules')

然后

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
于 2019-08-06T06:48:39.940 回答
17

试试这些

pip list

或者

pip freeze
于 2019-06-18T03:21:20.380 回答
14

使用pkgutil.iter_modules进行非常简单的搜索

from pkgutil import iter_modules
a=iter_modules()
while True:
    try: x=a.next()
    except: break
    if 'searchstr' in x[1]: print x[1]
于 2012-05-12T12:34:44.393 回答
13

on windows, Enter this in cmd

c:\python\libs>python -m pip freeze
于 2015-12-11T13:26:27.980 回答
12

我在 OS X 上遇到了自定义安装的 python 2.7。它需要 X11 列出已安装的模块(使用帮助和 pydoc)。

为了能够在不安装 X11 的情况下列出所有模块,我将 pydoc 作为 http-server 运行,即:

pydoc -p 12345

然后可以指示 Safarihttp://localhost:12345/查看所有模块。

于 2012-08-24T10:28:05.147 回答
10

警告:Adam Matan 不鼓励在 pip > 10.0 中使用这种方法。另外,请阅读下面@sinoroc 的评论

这是受到 Adam Matan 的回答(被接受的回答)的启发:

import tabulate
try:
  from pip import get_installed_distributions
except:
  from pip._internal.utils.misc import get_installed_distributions

tabpackages = []
for _, package in sorted([('%s %s' % (i.location, i.key), i) for i in get_installed_distributions()]):
  tabpackages.append([package.location, package.key, package.version])

print(tabulate.tabulate(tabpackages))

然后以以下形式打印出一个表格

19:33 pi@rpi-v3 [iot-wifi-2] ~/python$ python installed_packages.py
-------------------------------------------  --------------  ------
/home/pi/.local/lib/python2.7/site-packages  enum-compat     0.0.2
/home/pi/.local/lib/python2.7/site-packages  enum34          1.1.6
/home/pi/.local/lib/python2.7/site-packages  pexpect         4.2.1
/home/pi/.local/lib/python2.7/site-packages  ptyprocess      0.5.2
/home/pi/.local/lib/python2.7/site-packages  pygatt          3.2.0
/home/pi/.local/lib/python2.7/site-packages  pyserial        3.4
/usr/local/lib/python2.7/dist-packages       bluepy          1.1.1
/usr/local/lib/python2.7/dist-packages       click           6.7
/usr/local/lib/python2.7/dist-packages       click-datetime  0.2
/usr/local/lib/python2.7/dist-packages       construct       2.8.21
/usr/local/lib/python2.7/dist-packages       pyaudio         0.2.11
/usr/local/lib/python2.7/dist-packages       tabulate        0.8.2
-------------------------------------------  --------------  ------

然后,您可以轻松辨别您安装了哪些软件包,其中包含和不包含sudo.


顺便说一句:我注意到,当我安装一个数据包一次通过sudo和一次不安装时,一个优先,因此另一个没有被列出(只显示一个位置)。我相信只有本地目录中的一个被列出。这可以改进。

于 2018-12-16T18:48:43.460 回答
9

此解决方案主要基于模块importlibpkgutil可与 CPython 3.4 和 CPython 3.5 一起使用,但不支持 CPython 2。


解释

  1. sys.builtin_module_names- 命名所有内置模块(在这里查看我的答案)
  2. pkgutil.iter_modules()- 返回有关所有可用模块的信息
  3. importlib.util.find_spec()- 返回有关导入模块的信息(如果存在)
  4. BuiltinImporter- 内置模块的导入器(文档
  5. SourceFileLoader- 标准 Python 模块的导入器(默认扩展名为 *.py)(文档
  6. ExtensionFileLoader- 作为共享库的模块导入器(使用 C 或 C++ 编写)

完整代码

import sys
import os
import shutil
import pkgutil
import importlib
import collections

if sys.version_info.major == 2:
    raise NotImplementedError('CPython 2 is not supported yet')


def main():

    # name this file (module)
    this_module_name = os.path.basename(__file__).rsplit('.')[0]

    # dict for loaders with their modules
    loaders = collections.OrderedDict()

    # names`s of build-in modules
    for module_name in sys.builtin_module_names:

        # find an information about a module by name
        module = importlib.util.find_spec(module_name)

        # add a key about a loader in the dict, if not exists yet
        if module.loader not in loaders:
            loaders[module.loader] = []

        # add a name and a location about imported module in the dict
        loaders[module.loader].append((module.name, module.origin))

    # all available non-build-in modules
    for module_name in pkgutil.iter_modules():

        # ignore this module
        if this_module_name == module_name[1]:
            continue

        # find an information about a module by name
        module = importlib.util.find_spec(module_name[1])

        # add a key about a loader in the dict, if not exists yet
        loader = type(module.loader)
        if loader not in loaders:
            loaders[loader] = []

        # add a name and a location about imported module in the dict
        loaders[loader].append((module.name, module.origin))

    # pretty print
    line = '-' * shutil.get_terminal_size().columns
    for loader, modules in loaders.items():
        print('{0}\n{1}: {2}\n{0}'.format(line, len(modules), loader))
        for module in modules:
            print('{0:30} | {1}'.format(module[0], module[1]))


if __name__ == '__main__':
    main()

用法

对于 CPython3.5(截断)

$ python3.5 python_modules_info.py 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
30: <class '_frozen_importlib.BuiltinImporter'>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_ast                           | built-in
_codecs                        | built-in
_collections                   | built-in
_functools                     | built-in
_imp                           | None
_io                            | built-in
_locale                        | built-in
_operator                      | built-in
_signal                        | built-in
_sre                           | built-in
_stat                          | built-in
_string                        | built-in
_symtable                      | built-in
_thread                        | built-in
(****************************truncated*******************************)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
227: <class '_frozen_importlib_external.SourceFileLoader'>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__future__                     | /usr/local/lib/python3.5/__future__.py
_bootlocale                    | /usr/local/lib/python3.5/_bootlocale.py
_collections_abc               | /usr/local/lib/python3.5/_collections_abc.py
_compat_pickle                 | /usr/local/lib/python3.5/_compat_pickle.py
_compression                   | /usr/local/lib/python3.5/_compression.py
_dummy_thread                  | /usr/local/lib/python3.5/_dummy_thread.py
_markupbase                    | /usr/local/lib/python3.5/_markupbase.py
_osx_support                   | /usr/local/lib/python3.5/_osx_support.py
_pydecimal                     | /usr/local/lib/python3.5/_pydecimal.py
_pyio                          | /usr/local/lib/python3.5/_pyio.py
_sitebuiltins                  | /usr/local/lib/python3.5/_sitebuiltins.py
(****************************truncated*******************************)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
64: <class '_frozen_importlib_external.ExtensionFileLoader'>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_bisect                        | /usr/local/lib/python3.5/lib-dynload/_bisect.cpython-35m-x86_64-linux-gnu.so
_bz2                           | /usr/local/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so
_codecs_cn                     | /usr/local/lib/python3.5/lib-dynload/_codecs_cn.cpython-35m-x86_64-linux-gnu.so
_codecs_hk                     | /usr/local/lib/python3.5/lib-dynload/_codecs_hk.cpython-35m-x86_64-linux-gnu.so
_codecs_iso2022                | /usr/local/lib/python3.5/lib-dynload/_codecs_iso2022.cpython-35m-x86_64-linux-gnu.so
(****************************truncated*******************************)

对于 CPython3.4(截断)

$ python3.4 python_modules_info.py
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
54: <class '_frozen_importlib.BuiltinImporter'>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_ast                           | built-in
_bisect                        | built-in
_codecs                        | built-in
_collections                   | built-in
_datetime                      | built-in
_elementtree                   | built-in
_functools                     | built-in
_heapq                         | built-in
_imp                           | None
_io                            | built-in
_locale                        | built-in
_md5                           | built-in
_operator                      | built-in
_pickle                        | built-in
_posixsubprocess               | built-in
_random                        | built-in
(****************************truncated*******************************)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
246: <class '_frozen_importlib.SourceFileLoader'>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
__future__                     | /usr/lib/python3.4/__future__.py
_bootlocale                    | /usr/lib/python3.4/_bootlocale.py
_collections_abc               | /usr/lib/python3.4/_collections_abc.py
_compat_pickle                 | /usr/lib/python3.4/_compat_pickle.py
_dummy_thread                  | /usr/lib/python3.4/_dummy_thread.py
_markupbase                    | /usr/lib/python3.4/_markupbase.py
_osx_support                   | /usr/lib/python3.4/_osx_support.py
_pyio                          | /usr/lib/python3.4/_pyio.py
(****************************truncated*******************************)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
44: <class '_frozen_importlib.ExtensionFileLoader'>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_bz2                           | /usr/lib/python3.4/lib-dynload/_bz2.cpython-34m-x86_64-linux-gnu.so
_codecs_cn                     | /usr/lib/python3.4/lib-dynload/_codecs_cn.cpython-34m-x86_64-linux-gnu.so
_codecs_hk                     | /usr/lib/python3.4/lib-dynload/_codecs_hk.cpython-34m-x86_64-linux-gnu.so
_codecs_iso2022                | /usr/lib/python3.4/lib-dynload/_codecs_iso2022.cpython-34m-x86_64-linux-gnu.so
_codecs_jp                     | /usr/lib/python3.4/lib-dynload/_codecs_jp.cpython-34m-x86_64-linux-gnu.so
_codecs_kr                     | /usr/lib/python3.4/lib-dynload/_codecs_kr.cpython-34m-x86_64-linux-gnu.so
_codecs_tw                     | /usr/lib/python3.4/lib-dynload/_codecs_tw.cpython-34m-x86_64-linux-gnu.so
_crypt                         | /usr/lib/python3.4/lib-dynload/_crypt.cpython-34m-x86_64-linux-gnu.so
(****************************truncated*******************************)
于 2017-03-08T14:25:43.143 回答
8

除了使用pip freeze我一直在我的虚拟环境中安装蛋黄。

于 2013-01-25T20:20:06.863 回答
7

In case you have an anaconda python distribution installed, you could also use

$conda list

in addition to solutions described above.

于 2013-12-05T23:38:03.163 回答
6
  1. 要获取所有可用模块,请运行sys.modules
  2. 要获取所有已安装的模块(阅读:安装者pip),您可以查看pip.get_installed_distributions()

对于第二个目的,示例代码:

import pip
for package in pip.get_installed_distributions():
    name = package.project_name # SQLAlchemy, Django, Flask-OAuthlib
    key = package.key # sqlalchemy, django, flask-oauthlib
    module_name = package._get_metadata("top_level.txt") # sqlalchemy, django, flask_oauthlib
    location = package.location # virtualenv lib directory etc.
    version = package.version # version number
于 2014-01-21T06:42:12.657 回答
5

给猫剥皮的方法有很多。

  • 最简单的方法是pydoc直接从 shell 中使用该函数:
    pydoc modules

  • 但要了解更多信息,请使用名为pip-date的工具,该工具还会告诉您安装日期。
    pip install pip-date


在此处输入图像描述

于 2019-01-28T06:57:02.197 回答
4

pip freeze会全部查找包,但是可以简单地编写以下命令来列出 python 包所在的所有路径。

>>> import site; site.getsitepackages()
['/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
于 2016-04-21T10:52:02.893 回答
3

我需要在 AWS Lambda 中找到默认可用的特定版本的软件包。我是通过这个页面上的一些想法来做到这一点的。我分享给后人。

import pkgutil

__version__ = '0.1.1'

def get_ver(name):
    try:
        return str(__import__(name).__version__)
    except:
        return None

def lambda_handler(event, context):
    return {
        'statusCode': 200,
        'body': [{
                   'path': m.module_finder.path,
                   'name': m.name,
                   'version': get_ver(m.name),
                 } for m in list(pkgutil.iter_modules())
                 #if m.module_finder.path == "/var/runtime" # Uncomment this if you only care about a certain path
                ],
    }

我发现提供的 boto3 库已经过时了,我的代码失败不是我的错。我只需要将 boto3 和 botocore 添加到我的项目中。但是如果没有这个,我会一直认为我的代码很糟糕。

{
  "statusCode": 200,
  "body": [
    {
      "path": "/var/task",
      "name": "lambda_function",
      "version": "0.1.1"
    },
    {
      "path": "/var/runtime",
      "name": "bootstrap",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "boto3",
      "version": "1.9.42"
    },
    {
      "path": "/var/runtime",
      "name": "botocore",
      "version": "1.12.42"
    },
    {
      "path": "/var/runtime",
      "name": "dateutil",
      "version": "2.7.5"
    },
    {
      "path": "/var/runtime",
      "name": "docutils",
      "version": "0.14"
    },
    {
      "path": "/var/runtime",
      "name": "jmespath",
      "version": "0.9.3"
    },
    {
      "path": "/var/runtime",
      "name": "lambda_runtime_client",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "lambda_runtime_exception",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "lambda_runtime_marshaller",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "s3transfer",
      "version": "0.1.13"
    },
    {
      "path": "/var/runtime",
      "name": "six",
      "version": "1.11.0"
    },
    {
      "path": "/var/runtime",
      "name": "test_bootstrap",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "test_lambda_runtime_client",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "test_lambda_runtime_marshaller",
      "version": null
    },
    {
      "path": "/var/runtime",
      "name": "urllib3",
      "version": "1.24.1"
    },
    {
      "path": "/var/lang/lib/python3.7",
      "name": "__future__",
      "version": null
    },
...

我发现的也和他们官方公布的不一样。在撰写本文时:

  • 操作系统 – 亚马逊 Linux
  • AMI – amzn-ami-hvm-2017.03.1.20170812-x86_64-gp2
  • Linux 内核 – 4.14.77-70.59.amzn1.x86_64
  • 适用于 JavaScript 的 AWS 开发工具包 – 2.290.0\
  • 适用于 Python 的 SDK (Boto 3) – 3-1.7.74 botocore-1.10.74
于 2019-03-01T07:31:58.903 回答
3

思路很多,最初我在琢磨这两个:

点子

缺点:并不总是安装

帮助('模块')

缺点:输出到控制台;模块损坏(请参阅 ubuntu ...)可能会出现段错误

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

我看到了曙光:listmodules.py

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

优点:

仅使用imp、sys、os、re、time

设计为在 Python 1.5.2 和更新版本上运行

源代码非常紧凑,因此您可以轻松修改它,例如传递错误模块的异常列表(不要尝试导入它们)

于 2018-09-19T09:06:22.313 回答
2

这是一个 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)
于 2019-12-11T23:28:23.230 回答
1

安装

pip install pkgutil

代码

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
于 2019-10-16T04:30:27.937 回答
1
pip install pip-chill 
pip-chill
于 2021-04-22T01:34:11.833 回答
0

如果上述方法似乎都没有帮助,那么在我的环境中,系统升级被破坏了,我无法升级 pip。虽然它不会为您提供准确的列表,但您只需查看 env>lib>python(version here)>site-packages> 即可了解安装了哪些库。在这里,您将很好地了解已安装的模块。

于 2020-07-26T08:59:37.477 回答
-2

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

import pip
pip.main(['list])  # this will print all the packages
于 2019-07-11T22:05:09.180 回答
-10

从贝壳

ls site-packages

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

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

看看会产生什么。

于 2009-04-11T12:38:07.697 回答