ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬에서 특정 버전의 라이브러리 불러오기
    프로그래밍 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')

    댓글

Designed by Tistory.