반응형
내 코드에 '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
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python 목록 항목에서 구두점 제거 (0) | 2020.10.20 |
---|---|
파이썬 How to subtract a day from a date? (0) | 2020.10.20 |
파이썬 Kivy가 작동하지 않음 (오류 : 중요한 Window 공급자를 찾을 수 없습니다.) (0) | 2020.10.20 |
파이썬 인증을 사용하는 urllib.request.urlopen (url) (0) | 2020.10.20 |
파이썬 목록에서 첫 번째 항목을 제거하는 방법은 무엇입니까? (0) | 2020.10.20 |
댓글