공부/python

requirements.txt 란?

조용한외침 2022. 6. 9. 23:40

requirements.txt란?

- python 프로젝트의 의존성 정보가 담긴 문서이다. ( node로 치면 npm install로 설치해서 package.json에 담기는 것들)

- 작성이유는 node와 동일하다 협업, 오픈소스 등 다른 사람 혹은 자신이 다른 환경에서 해당 프로젝트를 실행 할 경우 편의를 위해서 작성하고 실제 설치된 파일들의 양과 크기는 어마무시하기 때문에 경량화가 필요하다.

# 예시
asgiref==3.5.2
Django==4.0.3
sqlparse==0.4.2
django-extensions==3.1.5
psycopg2-binary>=2.8

예시를 보면 == 는 정확하게 해당 버전 설치를 요구하는 것이고, <,>를 사용하면 이하, 이상을 말하는 것이다.

또한, 2.* 같은 버전 정보를 와일드 카드를 사용해 작성할 수 있다.(2.대의 아무 버전이나 가능하다는 의미)

requirements.txt 에서 requirements로 반드시 작성할 필요는 없지만 이름만 봐도 알 수 있게 끔하는 것이니 왠만하면 따르자.

 

 

작성 방법


우선, python이 설치되어 있다면 작성방법은 쉽다.

현재 프로젝트의 의존성 정보를 확인하면 된다.

 

명령어 => pip freeze

 

입력하면 설치된 패키지 버전 정보들을 확인 할 수 있다.

여기서 수동으로 입력하는 것이 아닌

 

pip freeze > requirements.txt

 

입력을 하면 생성이 된 것을 확인 할수 있다.

 

만든 후에 협업, 오픈소스 등 내가 다른 환경에서 사용해야 하는 경우 

 

pip install -r requirements.txt

 

명령어로 실행하면 다른 환경에서 내가 기존에 사용했던 패키지들을 설치하고 사용할 수 있다.

 

 

인터넷을 검색하며 찾아보고 위키와 블로그를 읽어보며 작성한글입니다. 혹시라도 부정확한 정보를 전달드릴수 있습니다. 틀린부분이 있으면 댓글을 남겨주세요.

 

참고

https://coding-lks.tistory.com/142