Django requirements의미 및 활용

nichol·2022년 5월 22일
0

Django

목록 보기
7/15

1. requirements란?

  • django는 다양한 버전이 존재하고 다양한 패키지들이 존재하고 이를 활용한다.
    나혼자 작업한다면 내 작업환경에 가상환경을 만들고 그 안에 설치해서 사용하면 그만이다.
    하지만! 우리는 혼자작업하는경우보다 다른 개발자들과 협업을 하는 경우가 훨씬 더 많다.
  • 그렇다면 우리의 프로젝트를 여러개발자들과 함께 협업을 하는데 패키지와 패키지가 어떤 버전들로 만드는지 공유해야한다. 이것을 패키지종속성 관리라고한다.

2. 활용방법

1. 프로젝트내에 requirements.txt파일생성

2. requirements.txt파일내에 내 프로젝트의 패키지의 이름과 버전을 기록한다.

  • 기록하는법
    1. 프로젝트를 하고있는 가상환경에서 pip freeze명령어 실행.

    2. 현재 가상환경에서 설치된 모든 패키지목록이 나온다.
    3. 패키지목록들 중 사용중에 있는 패키지이름과 그 버전을 복사하여 requirements.txt에 기록한다.

3. requirements.txt에 기록만 하고 그냥 pip로 일일이 설치해야될까? 아니다.

협업시 가상환경을 만들고 git을 통해 clone을 하고,
pip install -r requirements.txt 명령어를 실행하면
requirements.txt에 정의되어있는 패키지들중 현재 설치되어있는 패키지를 제외하고 자동으로 설치가 된다.

3. 주의점 : 모든 패키지를 다 기록하여 전달할 필요없다.

이유1 : 패키지를 설치하면서 자동으로 설치되는 패키지도 있다.

  • 단순히 django만 설치했을뿐이지만 ashiref, sqlparse가 설치되어있는 모습을 볼수있다.

이유2 : 프로젝트의 로직들과 관계없고 개발편의를 위한 패키지는 담을 필요가 없다.

  • 예를 들면 ipython의 경우 터미널의 shell_plus을 이용하기 위한 패키지인데 이 패키지는 프로젝트의 운용에는 아무관련이없다.
profile
WEB Developer

0개의 댓글