1134

Pythonインストール(UNIXサーバー)にあるPythonモジュールのリストを取得したいと思います。

コンピューターにインストールされているPythonモジュールのリストを取得するにはどうすればよいですか?

4

31 に答える 31

1167
help('modules')

Pythonシェル/プロンプトで。

于 2009-04-11T12:45:45.307 に答える
650

解決

pip> 10.0では使用しないでください!

pip freezePythonスクリプトから-likeリストを取得するための私の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)

(長すぎる)1つのライナーとして:

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']

範囲

このソリューションは、システムスコープまたは仮想環境スコープに適用され、、、および(god forbid)によってインストールされたパッケージを対象とsetuptoolspipます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リポジトリのクローンを作成しますsetup.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リポジトリから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ファイルが含まれているため、2番目の例にはありません。

ドキュメントにこの問題への参照が見つかりませんでした。おそらく私はそれのためにバグを開くでしょう。

于 2014-05-27T09:05:42.540 に答える
321

今、私はこれらの方法を自分で試しました、そして私は宣伝されたものを正確に手に入れました:すべてのモジュール。

悲しいかな、本当にあなたは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

パッケージインストールツールは、「freeze」という名前ではありませんが、この機能が見つかると予想される正確な場所であるため、「驚くべきことに」と言いますが、Pythonパッケージは非常に奇妙で、このツールが理にかなっていることに驚いています。Pip 0.8.2、Python2.7。

于 2011-01-16T03:42:15.970 に答える
132

pipバージョン1.3以降、次の機能にアクセスできます。

pip list

これは「ピップフリーズ」の糖衣構文のようです。インストールまたは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

これは、すべてのモジュールとインポートオブジェクトを含むdictです。

于 2012-06-22T22:02:06.130 に答える
64

通常のシェルでは、

pydoc modules
于 2013-08-23T09:45:31.870 に答える
57

ピップ10の時点で、受け入れられた回答は機能しなくなります。開発チームは、get_installed_distributionsルーチンへのアクセスを削除しました。setuptools同じことを行うための代替機能がにあります。これは、pip10で動作する代替バージョンです。

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シェルに一覧表示する必要がある場合は、次の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 、たとえば現在のパンダバージョンが取得されます。

于 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

Windowsでは、これをcmdに入力します

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

OSXにカスタムインストールされたpython2.7に遭遇しました。インストールされているモジュールを一覧表示するには、X11が必要でした(ヘルプとpydocの両方を使用)。

X11をインストールせずにすべてのモジュールを一覧表示できるようにするには、pydocをhttp-serverとして実行しました。

pydoc -p 12345

次に、Safariにhttp://localhost:12345/すべてのモジュールを表示するように指示することができます。

于 2012-08-24T10:28:05.147 に答える
10

警告:Adam Matanは、pip>10.0でのこの使用を推奨していません。また、以下の@sinorocのコメントを読んでください

これは、アダム・マタンの答え(受け入れられたもの)に触発されました:

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と、一方が優先され、もう一方がリストされないことに気付きました(1つの場所のみが表示されます)。ローカルディレクトリにあるものだけがリストされていると思います。これは改善される可能性があります。

于 2018-12-16T18:48:43.460 に答える
9

importlibこのソリューションは主にモジュールに基づいてpkgutilおり、CPython3.4およびCPython3.5で動作しますが、CPython2はサポートされていません。


説明

  1. sys.builtin_module_names-すべての組み込みモジュールに名前を付けます(ここで私の答えを見てください)
  2. pkgutil.iter_modules()-使用可能なすべてのモジュールに関する情報を返します
  3. importlib.util.find_spec()-存在する場合、モジュールのインポートに関する情報を返します
  4. BuiltinImporter-組み込みモジュールのインポーター(ドキュメント
  5. SourceFileLoader-標準のPythonモジュールのインポーター(デフォルトでは拡張子は* .py)(docs
  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

anaconda pythonディストリビューションがインストールされている場合は、次を使用することもできます

$conda list

上記のソリューションに加えて。

于 2013-12-05T23:38:03.163 に答える
6
  1. 使用可能なすべてのモジュールを取得するには、sys.modules
  2. インストールされているすべてのモジュールを取得するには(読み取り:によってインストールされpipます)、pip.get_installed_distributions()

2番目の目的のために、サンプルコード:

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

猫の皮を剥ぐ方法はたくさんあります。


ここに画像の説明を入力してください

于 2019-01-28T06:57:02.197 に答える
4

pipfreezeはすべてのパッケージの検索を行いますが、次のコマンドを記述して、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

多くのアイデアがありますが、最初はこれら2つについて考えています。

ピップ

短所:常にインストールされているわけではありません

help('modules')

短所:コンソールへの出力。モジュールが壊れていると(ubuntu ...を参照)、セグメンテーション違反が発生する可能性があります

基本的なライブラリを使用し、古いpython2.xと互換性のある簡単なアプローチが必要です

そして私は光を見る:listmodules.py

2.5のドキュメントソースディレクトリに隠されているのは、Pythonインストールで利用可能なすべてのモジュールを一覧表示する小さなスクリプトです。

長所:

imp、sys、os、re、timeのみを使用します

Python1.5.2以降で実行するように設計されています

ソースコードは非常にコンパクトなので、たとえばバグのあるモジュールの例外リストを渡すなど、簡単にいじくり回すことができます(インポートしようとしないでください)。

于 2018-09-19T09:06:22.313 に答える
3

AWSLambdaでデフォルトで利用可能なパッケージの特定のバージョンを見つける必要がありました。私はこのページからのアイデアのマッシュアップでそうしました。後世のために共有しています。

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
    },
...

私が発見したことも、彼らが公式に発表したものとは異なっていました。これを書いている時点で:

  • オペレーティングシステム– Amazon Linux
  • AMI – amzn-ami-hvm-2017.03.1.20170812-x86_64-gp2
  • Linuxカーネル– 4.14.77-70.59.amzn1.x86_64
  • AWS SDK for JavaScript – 2.290.0 \
  • SDK for Python(Boto 3)– 3-1.7.74 botocore-1.10.74
于 2019-03-01T07:31:58.903 に答える
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(バージョンはこちら)> site-packages>を調べるだけで、どのライブラリがインストールされているかを知ることができます。ここでは、モジュールがインストールされていることがわかります。

于 2020-07-26T08:59:37.477 に答える
-2

Pythonプログラムから呼び出す方法がわからないpip list場合は、次を使用できます。

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 に答える