일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- django ORM
- Git
- react
- Baekjoon
- django rest framework
- 파이썬 알고리즘
- 알고리즘 문제
- CSS
- MAC
- HTML
- 장고
- API
- es6
- javascript
- 알고리즘 연습
- java
- 파이썬
- django widget
- web
- 알고리즘
- js
- Django
- 알고리즘 풀이
- AWS
- c++
- Algorithm
- form
- 백준
- PYTHON
- DRF
Archives
- Today
- Total
수학과의 좌충우돌 프로그래밍
[Django] requirements.txt 를 통한 패키지 종속성 관리 본문
requirements.txt 패키지 종속성 관리
intro
현재 장고 프로젝트를 진행중입니다.
둘이서 git 을 통해서 협업을 하고 있으며 각자 venv를 사용해 가상환경에서 작업을 하고 있습니다.
한 가지 문제에 봉착했는데 각자 작업을 하다보니 install 해오는 패키지가 달라
merge를 할 때마다 문제가 생겼습니다.
패키지 종속성 관리
git 을 통해 협업을 하게 되면 다음과 같은 문제에 봉착하게 됩니다.
파일들은 버젼관리가 잘되더라도, install 한 패키지는 내 환경에만 남아있기 때문이죠.
이럴 경우에는 내 환경에 어떤 패키지들을 사용하고 있나 함께 넘겨주도록 합니다.
현재 환경에서 설치한 패키지를 알려주는 명령어는 다음과 같습니다.
pip freeze
그 결과 설치되어있는 패키지들을 확인할 수 있습니다.
certifi==2018.11.29
chardet==3.0.4
defusedxml==0.5.0
Django==2.1.7
django-allauth==0.39.1
django-appconf==1.0.3
django-imagekit==4.0.2
idna==2.8
oauthlib==3.0.1
pilkit==2.0
Pillow==5.4.1
python3-openid==3.1.0
pytz==2018.9
requests==2.21.0
requests-oauthlib==1.2.0
six==1.12.0
urllib3==1.24.1
이제 이를 파일에 담아주어 같이 버젼관리를 해줌으로서 협업자에게 전달하게 됩니다.
이를 파일에 담아주기 위해서는
pip freeze > requirements.txt
다음이 같이 패키지의 내용들을 requirements.txt 에 담아줄 수 있습니다.
그 후 함께 버젼관리를 해주면 협업자도 내가 무슨 패키지를 사용하였는지 확인이 가능합니다.
그렇다면 패키지를 하나씩 확인하면서 설치를 해야할까요?
다행히도 이를 한 번에 install 할 수 있습니다.
pip install -r requirements.txt
현재 없는 패키지만 빠르게 설치할 수 있습니다.
'웹프로그래밍 > Django' 카테고리의 다른 글
[Django] 17. 글 삭제 및 수정 구현하기 (4) | 2019.03.24 |
---|---|
[Django] 많이들 하는 실수, html 파일의 위치 (0) | 2019.03.11 |
[Django] 16. postgreSQL 사용하기! (0) | 2019.03.05 |
[Django] 15. app 재사용하기 (2) | 2019.03.02 |
[Django] 썸네일 만들기 (2) | 2019.03.02 |
Comments