2017-12-31 54 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) 

는하지만이 exection를 제기 실행할 때 :

ImportError: No module named name 

이 exection에 언급 된 라인은 주석으로 표시됩니다.

어떻게 해결할 수 있습니까?

+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이 전역에 성공적으로 저장되면 모든 것이 좋습니다.

관련 문제