새로운 프로젝트를 시작할 때마다 디렉토리를 만들고 .env 설정을 복사하는 일은 꽤 번거롭다.
이번엔 이런 초기 설정 과정을 한 번에 자동으로 만들어주는 스크립트를 작성했다(전체 스크립트는 가장 아래에).
프로젝트 초기화 스크립트 개요
init_project.py는 Python 프로젝트의 기본 디렉토리 구조와 환경설정 파일을 자동으로 생성한다.
한 번 실행하면 src/, data/, logs/, secrets/, .vscode/ 등 필요한 폴더가 모두 만들어지고,.env.defaults, .env.local.example, .gitignore, config.py, config_logs.py 같은 필수 파일이 자동으로 생성된다.
사용법
python init_project.py
한 줄이면 끝이다.
실행 후에는 아래처럼 구조가 자동으로 구성된다:
project/
├── src/
│ ├── configs/
│ │ ├── config.py
│ │ └── config_logs.py
│ └── utils/
├── secrets/
│ ├── .env.defaults
│ └── .env.local.example
├── .vscode/
│ └── settings.json
├── data/
├── db/
├── logs/
├── notebooks/
└── .gitignore
주요 기능 정리
.env.defaults: 비민감 기본 설정 (커밋 가능).env.local.example: 민감정보 템플릿 (커밋 금지).gitignore: Python 캐시, 로그, secrets 폴더 자동 제외config.py: 환경변수 계층 로드, DB 설정, 경로 관리config_logs.py: 콘솔 컬러 로그 + 날짜별 로그 파일 관리.vscode/settings.json: Python 인터프리터와 기본 분석 옵션
실행 후 바로 확인할 것
cp secrets/.env.local.example secrets/.env.local
# .env.local 파일을 열어 실제 API 키 입력
환경을 설정한 뒤 다음 명령으로 확인한다:
python src/configs/config.py
.env.defaults와 .env.local이 제대로 로드되는지, 누락된 키가 없는지 자동으로 출력된다.
구성 예시
config.py는 .env.defaults → .env.local 순서로 로드한다.
로컬 설정이 기본값을 덮어쓰며, dotenv 패키지를 사용한다.
from src.configs.config import PATHS, DB_CONFIG
from src.configs.config_logs import setup_root_logger, setup_logger
setup_root_logger("myapp")
logger = setup_logger(__name__)
logger.info(f"Data directory: {PATHS['data']}")
이렇게 하면 콘솔에는 컬러 로그가 표시되고,logs/YYYYMMDD-myapp.log 파일에 자동으로 기록된다.
마무리
이 스크립트를 쓰면 프로젝트 시작 준비 시간이 10분에서 10초로 줄어든다.
특히 여러 프로젝트를 병행하는 경우, 일관된 디렉토리 구조를 유지하기에 좋다.
필요한 기본 구조를 한 번에 만들어주는 초기화 스크립트로 이제 새 프로젝트를 만들 때 더 이상 손으로 설정할 일은 없다.
'노트정리 > 파이썬 Python' 카테고리의 다른 글
| Windows 환경에서 SSHFS로 원격 서버의 SQLite 연결 (1) | 2025.01.03 |
|---|---|
| 리눅스에서 아나콘다 (anaconda) 무료 라이선스 (license) 자동 설치 스크립트 (1) | 2024.12.09 |
| 허깅페이스 모델의 소스 코드 확인하기 (0) | 2024.12.03 |
| 파이썬(python)에서 엑셀 (excel) 수식 계산 정밀도 보존 방법 (0) | 2024.10.19 |
| 파이썬 (python) 프로젝트 사용 패키지 버전 추출 (requirments.txt 만들기) (1) | 2024.09.17 |
| 아나콘다(anaconda)의 환경 활성화와 비활성화 할 때, 특정 명령어 실행하기 (1) | 2024.04.05 |
| 아나콘다(anaconda, miniconda)에서 가상환경 마다 환경변수 PATH 설정하기(리눅스) (0) | 2024.04.01 |
| vscode에서 파이썬 독스트링(docstring) 보는 단축키 설정 방법 (0) | 2023.12.04 |


