2017-12-31 72 views
0

すべての必要なライブラリがインストールされているかどうかをスクリプトでテストしたいのですが、そうでない場合はインストールします。ここに私のコードは次のとおりです。ライブラリにスクリプトをインストールしてインポートするにはどうしたらいいですか?

libs = ['lib1','lib2','lib3'] 
def import_m(name): 
    try: 
     import name 
    except: 
     pip.main(['install',name]) 
     import name     #look at this line 
for i in libs: 
     import_m(i) 
print("Done importing %s." % i) 

しかし、それは・実行を上げるランニング:

ImportError: No module named name 

この・実行に言及した行は、コメントで示されています。

どうすれば修正できますか?

+1

pip.mainの戻り値をチェックすることから始める – tkhurana96

+0

@ tkhurana96 **戻り値**はどういう意味ですか? –

+0

は、[このリンク](https://stackoverflow.com/questions/45799042/installing-packages-from-a-list-using-pip)をご覧ください。 – tkhurana96

答えて

1

あなたは、この機能のために

のimportlib

を必要としています。

同様の質問があなたの条件のために

hereに答えているあなたは、まず[ 'モジュール名'] = importlib.import_module( 'モジュール名')

)(

グローバルを使用してライブラリをインポートしようとすることができます

例外がスローされた場合は、それをインストールして再度上記のコードを実行するだけです。再度import module_nameを実行しないでください。 module_nameが正常にグローバルに格納されていれば、あなたはすごくうれしいです。

関連する問題