2026/01/09 합동프로젝트 - 3

김기훈·2026년 1월 9일

TIL

목록 보기
107/191
# 어제 무엇을 했나요?
- 1. 테이블명세서 갈아엎기 
- 2. ERD 전면 수정 
- 3. 요구사항 정의서 기능설명 추가

# 오늘은 무엇을 할 것인가요?
- 1. Readme.md에 프로젝트 규칙 명명
- 2. 프로젝트 세팅
- 3. 스웨거 처리 고민중

# 진행하는데 어려운 부분(도움이 필요한 부분)이 있나요?


오늘 학습 내용 ✅


github에 탬플릿 적용

  • .github라는 이름의 특수 리포지토리를 만들어서 적용
  • 이슈 탬플릿

    • .github/ISSUE_TEMPLATE/ 폴더 만들기

코드 포메터

  • ruff / black / mypy 이용 추천 받음

    • Black: 코드 스타일 자동 정렬 ("그냥 이걸로 통일해" 끝판왕)
    • Ruff: 엄청나게 빠른 린터 (오류, 안 쓰는 변수, import 정렬 등 잡아줌)
    • Mypy: 타입 체크 (변수 타입 오류 잡아줌)
pip install black ruff mypy django-stubs

진행방법

1. 프로젝트 받기
git clone https://github.com/~
cd oz_playtype

2. .env 파일을 프로젝트 최상위 폴더(oz_playtype/)에 넣기


3. 로컬 의존성 설치 
poetry install

4. 서버 실행
docker-compose up --build

코드 포매터

# 1. 린트 및 Import 정리 (자동 수정)
poetry run ruff check . --fix

# 2. 코드 포맷팅 (자동 수정)
poetry run black .

# 3. 타입 검사
poetry run mypy .

프로젝트 시작

# 1. 프로젝트 생성 및 이동
poetry new my_project
cd my_project

# 2. .venv 폴더를 프로젝트 내부에 생성하도록 설정
poetry config virtualenvs.in-project true

# 3. (중요) 여기서 에디터로 pyproject.toml 열어서 'package-mode = false' 추가 권장

# 4. Django 및 필수 패키지 설치
poetry add django djangorestframework

# 5. 가상환경 진입
poetry shell

# 6. 이제 django-admin 명령어로 개발 시작!

새롭게 알게된 내용 ✅


오늘 발생한 문제(발생 했다면) ✅

[ 🔴 문제: Lock 파일 불일치 ]
poetry install 시 pyproject.toml changed significantly... 에러 발생.

[ 🟡 원인: pyproject.toml(설정서)의 내용은 변경되었는데, poetry.lock(확정된 버전 목록) 파일이 갱신되지 않아 두 파일의 내용이 서로 다름. ]


[ 🔵 해결: poetry lock 명령어로 Lock 파일을 최신 상태로 갱신함 ]
[ 🔴 문제: 파이썬 버전 충돌 (Dependency Hell) ]
Lock 갱신 중 django-environ requires Python <4 에러 발생.

[ 🟡 원인: 프로젝트 설정은 ">=3.12"(4.0도 포함)인데, 라이브러리는 "4.0 미만만 지원"해서 조건이 충돌함. ]


[ 🔵 해결: pyproject.toml의 requires-python 값을 ">=3.12,<4.0"으로 수정하여 4.0 미만으로 상한선을 그어줌 ]
[ 🔴 문제: 의존성 설치 마지막에 Error: The current project could not be installed 발생 ]


[ 🟡 원인: Poetry는 기본적으로 현재 폴더를 '설치 가능한 라이브러리'로 인식하는데, 웹 서비스(Django) 구조상 패키지화할 파일이 없어서 에러 발생]


[ 🔵 해결: pyproject.toml에 [tool.poetry] package-mode = false를 추가하여 라이브러리 모드를 끔 ]
profile
안녕하세요.

0개의 댓글