티스토리 뷰

IT/IT 이것 저것

Django 시작하기

KS짱짱맨 2024. 3. 27. 17:47

가상환경 설정 (Poetry)

1. 가상환경을 사용해야하는 이유

Dajngo 환경설정시 필요한것은 "가상환경설정"이다.

가상환경을 설정해야 하는 이유는 다음과 같다.

 

*의존성 충돌 방지: 하나의 시스템에서 여러 프로젝트를 개발할 때, 각 프로젝트가 특정 패키지의 서로 다른 버전을 요구하게 되는데. 가상 환경을 사용하면, 각 프로젝트가 필요로 하는 정확한 패키지 버전을 설치하여 의존성 충돌을 방지할 수 있음

 

*개발 환경과 프로덕션 환경의 일관성 유지: 가상 환경을 사용하면, 개발 중인 환경을 프로덕션 환경과 가능한 한 유사하게 만들어 준다. 이는 배포 시 발생할 수 있는 "내 컴퓨터에서는 작동하는데" 문제를 최소화하게 됨

 

*시스템-wide Python 설치 보호: 가상 환경은 시스템에 설치된 전역 Python 설치에 영향을 주지 않음. 이는 개발자가 시스템-wide 설치를 변경하거나 손상시키지 않고 자유롭게 패키지를 설치하고 실험할 수 있게 해준다.

 

*쉬운 의존성 관리: `pip`과 같은 패키지 관리자를 사용하여 가상 환경 내에서 필요한 모든 의존성을 쉽게 설치, 업그레이드 및 제거할 수 있다. 이는 프로젝트를 다른 개발자와 공유하거나 배포할 때 유용하다.

 

*배포 용이성: 프로젝트의 `requirements.txt` 파일이나 `Pipfile` 등을 사용하여 프로젝트 의존성을 명시하면, 프로젝트를 다른 환경으로 이동하거나 배포할 때 필요한 의존성을 쉽게 재생성할 수 있다.

 

*다양한 환경 테스트: 다른 버전의 Django나 다른 패키지들로 프로젝트를 테스트하려는 경우, 가상 환경을 사용하면 각 환경을 별도로 설정하여 실험할 수 있으며, 이는 호환성 확인 및 버그 찾기에 유용하다

2. Poetry 설치 및 셋팅

    • 설치 : pip install poetry
    • 구동 : poetry init
    • requirement.txt가 있는경우 :  Get-Content requirements.txt | ForEach-Object { poetry add $_ }
    • requirement.txt.가 없는경우 : poetry add package_name
    • .env 파일이 root폴더에 있는경우
      • .env 파일 읽기 : 
import environ

# 프로젝트 루트 디렉토리를 찾습니다.
root = environ.Path(__file__) - 2  # 두 레벨 위 == 프로젝트 루트
env = environ.Env(
    DEBUG=(bool, False),
)
environ.Env.read_env(env_file=root('.env'))  # .env 파일의 경로를 지정
from .base import *

env = environ.Env(
    # set casting, default value
    DEBUG=(bool, False)
)

environ.Env.read_env(os.path.join(BASE_DIR, '.env'))

 

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함