pair programming
Virtual Environmnet
파이썬 인터프리터, 라이브러리 및 스크립트가 "시스템 파이썬"(즉, 운영 체제 일부로 설치되어있는 것)에 설치된 모든 라이브러리와 격리 되어있는 파이썬 환경
각 가상 환경은 고유한 파이썬 환경을 가지며 독립적으로 설치된 패키지 집합을 가짐
대표적인 가상 환경 지원 시스템
왜 사용할까?
프로젝트 폴더생성
프로젝트 폴더 안에 들어간 뒤 cmd
python -m venv venv
include
, Lib
, Script
가 유사하게 안에 들어가 잇음을 볼 수 있음가상화 실행 > cmd
source venv/Scripts/activate
(venv)
라고 나타나는 것을 볼 수 있음pip list
를 치는 순간, 로컬의 설치 리스트만 보이는 것을 볼 수 잇음pip list
를 치면 global 설치를 다 보여줬음deactivate
이제 필요한 패키지들을 가상화를 킨 상태로 다운
pip install 패키지명
.gitignore
만들기
venv
관련 폴더가 포함되어있음을 확인할 수 있음db.sqlite3
도 gitignore에 포함되어있음환경상태 출력 및 보관
pip freeze
: 현재 깔려있는 모든 모듈을 전부 출력해줌pip freeze > requirements.txt
>
: 왼쪽의 결과를 오른쪽에 저장시켜주세요.requirements.txt
에 전부 설치됨requirements 를 참조해서 환경을 다시 세팅하기
pip install -r requirements.txt
requirements.txt
파일을 읽어서 pip install을 실행함README에는 어떤 것을 써주나??
데이터 베이스를 넘기지 않고 더미데이터 형식으로 넘겨줄 것임
데이터베이스를 공유하지 않는 이유
해결 방안
더미데이터형식을 사용
데이터베이스의 구조를 그대로 가져와서 하나의 json 파일로 저장
dumpData fixtures를 사용한다고 함
dumpData 툴을 사용
https://docs.djangoproject.com/en/3.1/ref/django-admin/#dumpdata
django-admin dumpdata 앱이름/모델이름
python manage.py dumpdata 앱이름/모델이름
: 우리는 manage.py 로 사용할것
만약 앱이름.모델이름
지정안하고 앱이름
하면 해당 앱에 대한 모든 model,
만약 아예 지정이 없으면 모든 앱에대한 모든 model 출력됨
python manage.py dumpdata --indent 4 앱이름.모델이름 > 앱이름.json
--indent 4
: 들여쓰기 4칸씩 주기, 이렇게 하면으로 주어서 보기 더 깔끔해짐> 앱이름.json
: 출력결과를 앱이름.json 파일에 저장만들어진 json파일을 앱폴더 > fixtures> 앱이름
에 저장
더미데이터를 데이터 베이스에 넣는 법
python manage.py loaddata 앱이름/모델이름.json
이 방식을 통해서 데이터베이스는 공유를 하지 않지만, 데이터 자체는 공유할 수 있게됨