본문 바로가기

[Python] requirements.txt 패키지 관리

출입금지 발행일 : 2023-11-11

파이썬 프로젝트에서 필요한 패키지를 쉽게 다른 환경에 설치하려면 'requirements.txt' 파일을 사용합니다. 'pip freeze' 명령으로 생성된 이 파일은 프로젝트에 필요한 모든 패키지를 나열, 'pip install'로 간편하게 설치 가능하게 합니다.

requirements.txt

 

들어가기

일반적으로, 파이썬 프로젝트를 진행하며 사용하는 여러 외부 라이브러리나 패키지들이 있습니다. 이러한 패키지들을 프로젝트와 함께 다른 컴퓨터나 환경에서도 동일하게 설치하고 싶을 때, 모든 패키지를 하나하나 손으로 타이핑하여 설치하는 것은 매우 번거로운 일입니다.


 이 때 사용하는 것이 'requirements.txt'라는 파일입니다. 이 파일은 프로젝트에서 사용하는 패키지들의 목록을 담고 있는 텍스트 파일로, 이 파일에 나열된 패키지들을 한 번에 설치할 수 있게 해줍니다. 파일의 이름은 반드시 'requirements.txt'일 필요는 없지만, 대부분의 프로젝트에서 이 이름을 사용하고 있기 때문에 이 이름을 따르는 것이 일반적입니다.


 'pip freeze' 명령을 사용하면 현재 환경에 설치된 패키지들의 목록을 얻을 수 있고, 이를 'requirements.txt' 파일에 저장할 수 있습니다. 예를 들어, 'pip freeze > requirements.txt' 명령을 실행하면 현재 환경의 패키지 목록이 'requirements.txt' 파일에 저장됩니다. 이 파일을 새 환경에서 'pip install -r requirements.txt' 명령과 함께 사용하면 파일에 나열된 모든 패키지들을 한 번에 설치할 수 있습니다. 이 방법은 효율적이며, 프로젝트의 이식성을 높이는 데 큰 도움이 됩니다.

 

아래 그림 처럼 pip list 하게 되면 본인이 설치한 패키지 리스를 볼 수 있습니다.

$
$
$pip list

Package        Version
-------------- ---------
beautifulsoup4 4.12.2
bs4            0.0.1
html2text      2020.1.16
Markdown       3.5.1
pip            23.0.1
setuptools     65.5.0
soupsieve      2.5

$
$

 

requirements 생성

$
$ pip freeze > requirements.txt
$

해당 명령어로 프로젝트를 진행하면서 설치된 패키지를 사용 하였던 버젼 기준으로 requirements로 만들어 준다.

 

requirements.txt 파일안에는 아래 와 같은 형태로 구성 될 수 있다.

$
$ bs4==2.1
$

2.1 버젼만 설치

$
$ bs4>=2.8
$

2.8 버젼 이상 설치

$
$ bs4>=2.*
$

2.*버젼 아무꺼나 설치

 

 

위의 예시는 임의로 작성된 패이지명과 버젼이다. 따라 한다고 동작 하지 않는다.

 

requirements 설치

$
$ pip install -r requirements.txt
$

 

프로젝트가 완료 되거나, 새롭게 셋팅 해야 한다면, 앞으로 위의 명령어만 입력 하게 되면 기존에 설치된 패키지를 그대로 사용 하여 개발 하는데 조금이나만 불편함을 감소 할 수 있을 것이다.

 

 

반응형

댓글