Meme's IT

[Django] 가상환경 만들기 본문

BackEnd/Django

[Django] 가상환경 만들기

Memez 2023. 9. 12. 12:02

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