【Python】importできるモジュールの一覧を取得する

Pythonを使っていると、どのモジュールが使えるのか知りたいことがありますよね。

この記事では、Pythonでimportできるモジュールの一覧を取得する方法を紹介します。

目次から探す

importできるモジュールの一覧を取得する方法

Pythonでは、標準ライブラリやインストール済みのサードパーティモジュールを簡単に確認する方法がいくつかあります。

この記事では、それらの方法を詳しく解説します。

標準ライブラリのモジュール一覧を取得する

Pythonの標準ライブラリには、多くの便利なモジュールが含まれています。

これらのモジュールの一覧を取得する方法を見ていきましょう。

sysモジュールを使用する方法

sysモジュールを使用すると、Pythonの標準ライブラリに含まれるモジュールの一覧を取得できます。

以下はその方法です。

import sys
# 標準ライブラリのモジュール一覧を取得
standard_modules = sys.builtin_module_names
# 結果を表示
print(standard_modules)

このコードを実行すると、Pythonの標準ライブラリに含まれるモジュールの名前がタプル形式で表示されます。

例えば、sys, os, mathなどが含まれます。

pkgutilモジュールを使用する方法

pkgutilモジュールを使用すると、標準ライブラリのモジュールをさらに詳細に取得することができます。

以下はその方法です。

import pkgutil
# 標準ライブラリのモジュール一覧を取得
standard_modules = [module.name for module in pkgutil.iter_modules()]
# 結果を表示
print(standard_modules)

このコードを実行すると、標準ライブラリに含まれるモジュールの名前がリスト形式で表示されます。

pkgutilモジュールを使用することで、より詳細な情報を取得することができます。

インストール済みのサードパーティモジュール一覧を取得する

次に、インストール済みのサードパーティモジュールの一覧を取得する方法を見ていきましょう。

pipコマンドを使用する方法

pipはPythonのパッケージ管理ツールで、インストール済みのパッケージを一覧表示することができます。

以下はその方法です。

pip list

このコマンドを実行すると、インストール済みのサードパーティモジュールの一覧が表示されます。

各モジュールの名前とバージョンが表示されるため、非常に便利です。

pkg_resourcesモジュールを使用する方法

pkg_resourcesモジュールを使用すると、インストール済みのサードパーティモジュールの一覧をプログラム内で取得することができます。

以下はその方法です。

import pkg_resources
# インストール済みのサードパーティモジュール一覧を取得
installed_packages = pkg_resources.working_set
# 結果を表示
for package in installed_packages:
    print(f"{package.key} ({package.version})")

このコードを実行すると、インストール済みのサードパーティモジュールの名前とバージョンが表示されます。

pkg_resourcesモジュールを使用することで、プログラム内で動的にモジュール情報を取得することができます。

以上が、Pythonでimportできるモジュールの一覧を取得する方法です。

標準ライブラリとサードパーティモジュールの両方を簡単に確認できるため、ぜひ活用してみてください。

実際のコード例

ここでは、実際にPythonのコードを使って標準ライブラリやインストール済みのサードパーティモジュールの一覧を取得する方法を紹介します。

各方法について具体的なコード例を示し、実行結果も確認してみましょう。

標準ライブラリのモジュール一覧を取得するコード例

sysモジュールを使用したコード例

sysモジュールを使用して、標準ライブラリのモジュール一覧を取得する方法を紹介します。

以下のコードを実行すると、Pythonの標準ライブラリに含まれるモジュールの一覧が表示されます。

import sys
# 標準ライブラリのモジュール一覧を取得
standard_modules = sys.builtin_module_names
# 結果を表示
print("標準ライブラリのモジュール一覧:")
for module in standard_modules:
    print(module)

このコードを実行すると、以下のような結果が得られます。

標準ライブラリのモジュール一覧:
__builtin__
__main__
_abc
_ast
...

pkgutilモジュールを使用したコード例

次に、pkgutilモジュールを使用して標準ライブラリのモジュール一覧を取得する方法を紹介します。

pkgutilモジュールは、パッケージの探索やモジュールのインポートに関するユーティリティを提供します。

import pkgutil
# 標準ライブラリのモジュール一覧を取得
standard_modules = [module.name for module in pkgutil.iter_modules()]
# 結果を表示
print("標準ライブラリのモジュール一覧:")
for module in standard_modules:
    print(module)

このコードを実行すると、以下のような結果が得られます。

標準ライブラリのモジュール一覧:
__future__
_abcoll
_ast
...

インストール済みのサードパーティモジュール一覧を取得するコード例

pipコマンドを使用したコード例

pipコマンドを使用して、インストール済みのサードパーティモジュールの一覧を取得する方法を紹介します。

以下のコードを実行すると、pipコマンドを使ってインストール済みのパッケージ一覧が表示されます。

import subprocess
# pipコマンドを使用してインストール済みのパッケージ一覧を取得
result = subprocess.run(['pip', 'list'], stdout=subprocess.PIPE)
# 結果を表示
print("インストール済みのサードパーティモジュール一覧:")
print(result.stdout.decode('utf-8'))

このコードを実行すると、以下のような結果が得られます。

インストール済みのサードパーティモジュール一覧:
Package    Version
---------- -------
pip        21.0.1
setuptools 54.0.0
...

pkg_resourcesモジュールを使用したコード例

最後に、pkg_resourcesモジュールを使用してインストール済みのサードパーティモジュールの一覧を取得する方法を紹介します。

pkg_resourcesモジュールは、パッケージリソースの管理を行うためのユーティリティを提供します。

import pkg_resources
# インストール済みのパッケージ一覧を取得
installed_packages = pkg_resources.working_set
# 結果を表示
print("インストール済みのサードパーティモジュール一覧:")
for package in installed_packages:
    print(f"{package.key} ({package.version})")

このコードを実行すると、以下のような結果が得られます。

インストール済みのサードパーティモジュール一覧:
pip (21.0.1)
setuptools (54.0.0)
...

以上の方法を使って、Pythonの標準ライブラリやインストール済みのサードパーティモジュールの一覧を簡単に取得することができます。

用途に応じて、適切な方法を選んで活用してください。

応用編:特定のモジュールがインストールされているか確認する方法

Pythonで特定のモジュールがインストールされているかどうかを確認する方法はいくつかあります。

ここでは、importlib.utilモジュールとpkg_resourcesモジュールを使用する方法を紹介します。

importlib.utilモジュールを使用する方法

importlib.utilモジュールを使用すると、特定のモジュールがインストールされているかどうかを簡単に確認できます。

以下はその方法の例です。

import importlib.util
def is_module_installed(module_name):
    # モジュールがインストールされているか確認する
    module_spec = importlib.util.find_spec(module_name)
    return module_spec is not None
# 使用例
module_name = 'numpy'
if is_module_installed(module_name):
    print(f"{module_name}はインストールされています。")
else:
    print(f"{module_name}はインストールされていません。")

このコードでは、importlib.util.find_spec関数を使用して、指定したモジュールがインストールされているかどうかを確認しています。

モジュールが見つかればmodule_specNoneではなくなり、見つからなければNoneになります。

pkg_resourcesモジュールを使用する方法

pkg_resourcesモジュールを使用しても、特定のモジュールがインストールされているかどうかを確認できます。

以下はその方法の例です。

import pkg_resources
def is_module_installed(module_name):
    try:
        # モジュールがインストールされているか確認する
        pkg_resources.get_distribution(module_name)
        return True
    except pkg_resources.DistributionNotFound:
        return False
# 使用例
module_name = 'numpy'
if is_module_installed(module_name):
    print(f"{module_name}はインストールされています。")
else:
    print(f"{module_name}はインストールされていません。")

このコードでは、pkg_resources.get_distribution関数を使用して、指定したモジュールがインストールされているかどうかを確認しています。

モジュールが見つからない場合、pkg_resources.DistributionNotFound例外が発生します。

どちらの方法も簡単に実装でき、特定のモジュールがインストールされているかどうかを確認するのに非常に便利です。

用途に応じて使い分けてください。

目次から探す