본문 바로가기
파이썬

파이썬 모듈이 Python에 설치되었는지 확인하고 그렇지 않은 경우 코드 내에 설치하는 방법은 무엇입니까?

by º기록 2020. 10. 20.
반응형

내 코드에 'mutagen'과 'gTTS'모듈을 설치하고 싶지만, 모듈이없는 모든 컴퓨터에 모듈을 설치하도록하고 싶지만 다음과 같은 경우에는 설치를 시도하지 않습니다. 이미 설치되어 있습니다. 나는 현재 :

def install(package):
    pip.main(['install', package])

install('mutagen')

install('gTTS')

from gtts import gTTS
from mutagen.mp3 import MP3

그러나 이미 모듈이있는 경우 프로그램을 열 때마다 프로그램 시작 부분에 불필요한 혼란이 추가됩니다.

 

해결 방법

 

수정-2020/02/03

이 답변을 게시 한 이후로 pip 모듈이 많이 업데이트되었습니다. 누락 된 종속성을 설치하는 적절한 방법으로 스 니펫을 업데이트했습니다.이 방법은 pip 가 아닌 subprocess pkg_resources 를 사용하는 것입니다.

출력을 숨기려면 하위 프로세스 출력을 devnull로 리디렉션 할 수 있습니다.

import sys
import subprocess
import pkg_resources

required = {'mutagen', 'gTTS'}
installed = {pkg.key for pkg in pkg_resources.working_set}
missing = required - installed

if missing:
    python = sys.executable
    subprocess.check_call([python, '-m', 'pip', 'install', *missing], stdout=subprocess.DEVNULL)


 

참조 페이지 https://stackoverflow.com/questions/44210656

 

 

반응형

댓글