-
파이썬에서 특정 버전의 라이브러리 불러오기프로그래밍 2023. 5. 10. 15:00
파이썬에서 라이브러리를 사용하려면 import 문을 사용하여 라이브러리를 불러와야 합니다. 하지만 때로는 특정 버전의 라이브러리를 사용해야 할 경우가 있습니다. 이 경우에는 import 문을 사용하여 라이브러리를 불러온 후에 해당 라이브러리의 버전을 확인하고, 만약 원하는 버전이 아니라면 해당 버전을 설치하도록 할 수 있습니다.
예를 들어, numpy 라이브러리의 버전 1.18.5를 사용하려면 다음과 같이 작성할 수 있습니다.
import numpy as np assert np.__version__ == '1.18.5'
위 코드는 numpy 라이브러리를 불러온 후에 해당 라이브러리의 버전을 확인합니다. 만약 이 버전의 라이브러리가 설치되어 있지 않다면 ImportError가 발생할 것입니다. 이 경우에는 다음과 같이 try-except 문을 사용하여 라이브러리를 설치하도록 할 수 있습니다.
try: import numpy as np assert np.__version__ == '1.18.5' except (ImportError, AssertionError): !pip install numpy==1.18.5 import numpy as np
위 코드는 numpy 라이브러리의 버전 1.18.5가 설치되어 있지 않다면 pip 명령어를 사용하여 해당 버전을 설치한 후에 다시 불러오도록 합니다.
하지만 이 방법은 매번 코드를 작성해야 하므로 번거롭습니다. 이 문제를 해결하기 위해 다음과 같은 함수를 작성할 수 있습니다.import importlib import subprocess def import_or_install(library, version): try: lib = importlib.import_module(library) assert lib.__version__ == version except (ImportError, AssertionError): subprocess.check_call(['pip', 'install', f'{library}=={version}']) lib = importlib.import_module(library) return lib
위 함수는 특정 라이브러리와 버전을 입력받아 해당 라이브러리를 불러오거나 설치합니다. 이 함수를 사용하면 다음과 같이 특정 버전의 라이브러리를 쉽게 불러오거나 설치할 수 있습니다.
np = import_or_install('numpy', '1.18.5')