IT/기초 지식

[python] pip 과 requirements.txt를 이용해서 패키지 혹은 라이브러리 일괄 다운로드하기

개발자 두더지 2022. 2. 1. 23:21
728x90

 Python의 패키지(라이브러리)를 pip으로 관리하고 있는 경우, 설정 파일인 requirements.txt를 사용해서 파일 안에 지정된 패키지를 지정한 버전으로 한꺼번에 설치할 수 있다.

 이번 포스팅에서는 아래의 내용에 대해서 설명하고자한다.

  • pip의 일괄 설치 옵션 : -r requirements.txt
  • 설정 파일 requirements.txt의 작성법
  • 현재 환경의 설정 파일을 출력하는 pip freeze

 pip의 기본적인 사용법에 대해서는 이번 포스팅에서 설명하지 않는다. 

 

 

pip의 일괄 설치 옵션 : -r  requirements.txt


 아래의 커맨드로 설정 파일 requirements.txt에 작성된 내용에 따라 패키지를 일괄 설치된다.

$ pip install -r requirements.txt

 설정 파일명은 임의로 어떠한 이름으로해도 상관없지만, requirements.txt이라는 이름으로 하는 것이 일반적이다. requirements.txt는 커맨드를 실행하는 디렉토리에 둔다. 다른 디렉토리에 있는 경우에는 커맨드에 절대패스나 현재 디렉토리부터의 상대 패스를 추가하면 된다.

 

 

설정 파일 requirements.txt의 작성법


 설정 파일 requirements.txt의 예는 아래와 같다.

###### Requirements without Version Specifiers ######`
nose
nose-cov
beautifulsoup4

###### Requirements with Version Specifiers ######`
docopt == 0.6.1             # Version Matching. Must be version 0.6.1
keyring >= 4.1.1            # Minimum version 4.1.1
coverage != 3.5             # Version Exclusion. Anything except version 3.5
Mopidy-Dirble ~= 1.1        # Compatible release. Same as >= 1.1, == 1.*

 Python 코드와 동일하게 #는 커멘트 아웃처리한다. ==나 >, >=, <, <=등으로 패키지를 지정할 수 있다. 버전 지정을 생략한 겅우에는 자동으로 그 패키지의 최신버전이 설치된다.

 ,(컴마)로 구분하면 2개의 조건을 AND로 지정할 수 있다. 아래의 예는 1.0이상이면서 2.0이하의 버전을 인스톨하도록 지정한 것이다.

package >= 1.0, <=2.0

 

 

현재 환경의 설정 파일을 출력하는 pip freeze


 pip freeze 커맨드로 현재 환경에 설치되어 있는 패키지와 버전이 pip install -r로 사용할 수 있는 설정 파일 형식을 출력해준다. 

$ pip freeze > requirements.txt

 이렇게 출력된 파일은 맨 처음에 소개 했던 pip install -r 커맨드로 파일에 기재되어 있는 패키지, 버전을 한 번에 설치해준다. 


참고자료

https://note.nkmk.me/python-pip-install-requirements/

728x90