[Django] 가상환경 만들기

    Django란?

    : Python 기반의 대표적인 웹 프레임워크

    가상환경

    : Pyhon 애플리케이션과 그에 따른 패키지들을 격리하여 관리할 수 있는 독립적인 실행환경

    가상환경을 쓰는 이유?

    1. 버전이 다른 패키지가 필요할 때: 예를 들어 개발자가 두개의 프로젝트를 할 때, 두개의 버전이 다르다면, 하나의 환경에서는 하기 힘들다. 이럴 때 가상환경을 만들어서 독립적인 개발환경을 만들어줄 수 있다.
    2. 서로 충돌되는 패키지를 써야할 때: 두개의 프로젝트에서 하나는 water, 다른 하나는 fire라는 패키지를 써야할 때, 만약 두 패키지가 함께 쓰면 충돌한다면 둘 중 하나는 설치할 수 없는데, 이럴 때 가상환경을 만들어 충돌을 피할 수 있다.

    가상환경을 만들어보자

    • 가상환경 만들기가상환경을 만들 수 있는 명령어, 맨 뒤에오는 venv가 가상환경의 이름임
    python -m venv venv
    • 가상환경 활성화하기: 이동(move)이 아니라 끄고 키는(on, off)의 개념을 가짐성공하면, 밑에 (venv)가 붙음
    source venv/Scripts/activate
    • 비활성화하기(OFF)
    deactivate
    • 확인해보기: pip list를 이용해 설치된 패키지의 목록을 확인
      • 가상환경이 OFF되어있을 때
      • 가상환경을 ON해주면
      • ==> 서로 다른 패키지가 설치되어 있음을 알 수 있다.

    의존성 패키지

    : 하나의 패키지를 설치했을 때, 딸려오는 패키지들
    예를 들어, install requests를 이용해 패키지를 설치하면 _requests_뿐만 아니라 _certifi, idna_등등 다양한 패키지 목록이 추가됨

    의존성 패키지의 버전까지 관리하기 위해 의존성패키지 목록을 만들어 줘야한다.

    • 설치된 패키지의 리스트(= 의존성 패키지 목록)를 txt 파일로 만들기이후에 새로운 패키지를 설치한다면 한번 더 해줘야함(자동 업데이트 되지 않음) 
    pip freeze > requirements.txt
    • 위에서 만든 txt파일안에 있는 패키지를 한번에 설치하는 방법(서로 다른 컴퓨터에서 같은 환경에서 작업 가능)
    pip install -r requirements.txt

    해당 txt파일은 협업과 버전 관리용으로 사용함

     

    참고

    • venv는 원격저장소에 올리지 않음 -> gitignore해줌
    • LTS(Long-Term Support)
      • 프레임워크나 라이브러리 등의 소프트웨어에서 장기간 지원되는 버전을 의미할 때 사용
      • 기업이나 대규모 프로젝트에서는 소프트웨어 업그레이드에 많은 비용과 시간이 필요하기 때문에 안정적이고 장기간 지원되는 버전이 필요

    'BackEnd > Django' 카테고리의 다른 글

    [Django] Template 상속  (0) 2023.09.13
    [Django] Template System  (0) 2023.09.13
    [Django] MTV 디자인 패턴  (0) 2023.09.12
    [Django] Django 프로젝트 만들기  (0) 2023.09.12
    [Django] 사전 지식  (0) 2023.09.12

    댓글