pip install 특정 버전 패키지 설치 방법 및 4가지 옵션

pip install 특정 버전 패키지 설치 방법과 관련된 옵션들이 있습니다. 파이썬을 이용하다 보면 설치한 패키지가 오래 돼서 특정 버전의 패키지를 강제로 설치해야 하는 상황이 생기기도 합니다. 이런 경우에 사용할 수 있는 방법을 함께 살펴보도록 하겠습니다.

pip install 특정 버전 설치

특정 버전의 패키지를 설치하려면 == 연산자를 사용하여 패키지 이름 뒤에 원하는 버전을 명시하면 됩니다.

pip install package_name==version
ShellScript

다음은 numpy 버전을 1.26.4로 지정해서 설치하는 경우에 대한 예시입니다.

그림 1. pip install 특정 버전 지정하여 설치하는 방법
그림 1. pip install 특정 버전 지정하여 설치하는 방법

버전 범위 지정

특정 버전의 범위를 지정하여 설치할 수도 있는데, 이 경우에는 꼭 따옴표로 패키지명과 버전명을 묶어줘야 합니다. 예를 들어, 특정 버전보다 크거나 작거나, 범위 내에서 설치를 지정할 수 있습니다.

  • >=: 해당 버전 이상
  • <=: 해당 버전 이하
  • >: 해당 버전보다 큰
  • <: 해당 버전보다 작은
  • ~=: 지정한 마이너 버전 업데이트 포함 (예: ~=1.4.2는 1.4.x 버전은 허용, 1.5.x는 제외)

아래와 같은 경우에는 1.20보다는 크거나 같으며, 1.22 미만의 버전의 패키지를 설치하게 됩니다. 설치 가능한 범위 중에서 가장 높은 버전을 설치하게 됩니다.

pip install 'package_name>=1.20,<1.22'
ShellScript

다음 예시는 numpy의 버전을 1.26.2 이상이면서, 2.0 미만의 버전을 설치하도록 하는 명령어입니다. 이 경우에는 1.26.4가 해당하는 버전 중 최근 버전이므로 1.26.4 버전이 설치됩니다.

그림 2. pip install 버전의 범위를 지정해서 설치하는 방법
그림 2. pip install 버전의 범위를 지정해서 설치하는 방법

--force-reinstall

이미 설치된 패키지의 버전이 같더라도 다시 설치하려면 --force-reinstall 옵션을 사용할 수 있습니다.

pip install package_name==version --force-reinstall
ShellScript

이미 설치가 되어 있더라도 해당 패키지를 Uninstall 한 다음 다시 설치하는 것을 아래 그림에서 확인할 수 있습니다.

그림 3. pip install 특정 버전을 삭제하고 다시 설치하게 하는 방법
그림 3. pip install 특정 버전을 삭제하고 다시 설치하게 하는 방법

--upgrade

설치된 패키지를 최신 버전으로 업그레이드할 때 사용합니다. 특정 버전의 최신 업데이트로 업그레이드도 가능합니다.

pip install --upgrade package_name
ShellScript

업그레이드 하는 과정은 기존 버전을 삭제하고 최신 버전의 패키지를 설치하는 과정으로 진행되는 것을 아래 그림에서 확인할 수 있습니다.

그림 4. pip install 설치된 패키지 삭제하고 최신 버전으로 업데이트하는 방법
그림 4. pip install 설치된 패키지 삭제하고 최신 버전으로 업데이트하는 방법

--no-deps

패키지 설치 시, 해당 패키지가 의존하는 다른 패키지를 자동으로 설치하지 않도록 하려면 --no-deps 옵션을 사용할 수 있습니다.

pip install package_name==version --no-deps
ShellScript

--pre

미리보기(pre-release) 버전을 설치할 때 사용할 수 있습니다. 기본적으로 pip는 안정화된 버전만 설치하기 때문에, 베타, 알파 등의 버전이 필요하다면 이 옵션을 추가합니다.

pip install package_name --pre
ShellScript

마무리

여기까지 특정 버전을 지정해서 설치하는 방법부터 pip install을 사용해서 패키지를 설치하는 옵션 중 버전 관리와 관련된 4가지 옵션을 모두 살펴보았습니다. 파이썬을 이용한 개발 과정이 단기적인 경우에야 별로 사용할 일이 없겠지만, 장기적으로 프로젝트를 관리하는 경우에는 무조건 최신 버전이라고 좋은 게 아닙니다. 패키지 간의 의존성과 같은 문제 때문에 버전을 신경써서 관리해 줘야 하는 일이 생깁니다. 그럴 때 이 문서가 도움이 되길 바랍니다.

관련자료

같이 읽으면 좋은 글

Leave a Comment