Pythonに欠落しているパッケージやアプリケーションを検出させるにはどうすればよいですか? [閉じる]

Pythonに欠落しているパッケージやアプリケーションを検出させるにはどうすればよいですか? [閉じる]

私は台本を書いています。倫理的なハッカー目的は、続行するためにインストールする必要があるパッケージをユーザーに検出して表示する最初の機能が必要です。たとえば、ユーザーがLinuxシステムを使用しているかどうかを検出できるようにnmapしたいと思います。aircrack-ng

答え1

Pythonモジュールの場合は、次のコードを使用します。

# Make sure we have all our necessary modules
allOK=True
for m in ['requests','json','yaml','argparse','re','traceback']:
    try:
        globals()[m]=importlib.import_module(m)
    except Exception as e:
        print 'Python module "%s" is required, please use "yum install python-%s" to install it.' % (m,m)
        allOK=False

if not allOK:
    print 'One or more modules missing, exiting.'
    exit(1)

答え2

パッケージの場合、インストールを試みるのが最も簡単ですが、rpm -qa解析(または他のパッケージングスキームに対応する機能)などの出力も機能します。 Pythonモジュールの場合は、モジュールを含むパッケージをインストールして再インポートしようとするtry-except句付き - 句を持つことができます。except

これが問題ですか、それとも私たち全員が混乱しているのでしょうか?

関連情報