[Django] 개발 환경 구축 (Python, 가상환경, Docker)

2026. 3. 8. 21:19·Django
반응형

1️⃣ 사전 준비

먼저 아래 프로그램들이 설치되어 있어야 한다.

  • Python
  • IDE (PyCharm 또는 VSCode)

Python은 Django가 실행되는 기본 런타임 환경이고, IDE는 코드 작성과 디버깅을 편하게 하기 위해 사용한다.
 

2️⃣ Python 가상환경 (Virtual Environment)

Python에서는 프로젝트마다 가상환경을 만들어 사용하는 것이 일반적이다.
가상환경은 프로젝트마다 독립적인 Python 실행 환경을 제공하는 도구이다.

  • 시스템의 전역(global) Python 환경과 별도로 의존성 관리
  • 여러 프로젝트에서 서로 다른 버전의 패키지나 라이브러리 사용 가능
  • 개발 환경 깔끔하게 유지

예를 들어,

프로젝트 A → Django 4.x 사용
프로젝트 B → Django 5.x 사용

이런 경우에도 서로 충돌 없이 개발할 수 있다.
 

3️⃣ Python 라이브러리 설치

Python에서는 보통 pip을 이용해서 라이브러리를 설치한다.

pip install [라이브러리 이름]

pip는 Python 패키지를 다운로드하고 설치해 주는 패키지 관리 도구이다.
 

4️⃣ 가상환경 생성

Python에서는 `venv` 모듈을 이용해 가상환경을 만들 수 있다.

python3.13 -m venv {가상환경 이름}
옵션설명
`-m venv`Python에 내장된 venv 모듈을 사용해 가상환경 생성
`.django`생성될 가상환경 디렉토리 이름

여기서 `.django`처럼 앞에 점(.)을 붙이는 이유는 가상환경 파일이 프로젝트 코드와 섞이지 않도록 숨김 디렉토리로 만들기 위해서이다.
가상환경을 생성하면 해당 디렉토리 안에 Python 실행 파일, pip, 라이브러리 설치 경로 등이 별도로 생성된다.
 
기본 venv 모듈 외에도 다양한 Python 가상환경 도구들(3rd party)이 존재한다.

  • e.g. virtualenv, conda, pyenv, poetry, uv 등

 

5️⃣ Docker

Docker는 애플리케이션을 컨테이너(Container)라는 독립적인 환경에서 실행하는 기술이다.
쉽게 말하면,

프로그램을 실행하는 미니 서버 환경을 하나의 패키지로 묶는 기술이라고 볼 수 있다.

 
Docker를 사용하는 대표적인 이유는 다음과 같다.

  • 데이터베이스 (PostgreSQL)
  • 캐시 서버 (Redis)
  • 백엔드 서버

등을 쉽게 실행하기 위해서이다.
 
또한, Docker를 사용하면 서로 다른 운영체제 및 컴퓨터 환경(개발자 컴퓨터, 테스트 서버, 운영 서버 등)에서도 동일한 실행 환경을 유지할 수 있다.
그래서 현재 대부분의 개발 환경에서 사실상 표준 도구(de facto standard)로 사용되고 있다.
 
보통 개발 환경에서는 다음과 같이 사용한다.

  • 개발 환경: Docker 사용하여 개발
  • 서버 배포: Docker + Kubernetes 서버 운영

Docker를 사용하면 데이터베이스 설치, 서버 환경 설정, 의존성 관리 등을 훨씬 쉽게 할 수 있다.

 
Docker를 사용하려면 Docker Desktop을 설치하면 된다.
Docker Desktop을 설치하면 Docker Engine, Docker CLI 등이 함께 설치되어 바로 사용할 수 있다.
 
 
[참고] 실전! Django 입문 강의

반응형
'Django' 카테고리의 다른 글
  • [Django] 장고 프로젝트 생성 및 실행 방법
  • [Django] 장고 알아보기
올콩
올콩
콩 심은 데 콩 난다
  • 올콩
    콩스토리
    올콩
  • 전체
    오늘
    어제
    • 분류 전체보기 (216)
      • SSAFY (10)
      • Algorithm (122)
        • 이론 (6)
        • 백준 (BOJ) (114)
        • 프로그래머스 (1)
        • 코드트리 (1)
      • Trouble Shooting (11)
      • Frontend (7)
      • React (17)
      • Next.js (5)
      • Vue (4)
      • Django (3)
      • Node.js (2)
      • HTML (9)
      • DevOps (4)
        • Git (4)
      • Language (13)
        • JavaScript (0)
        • Java (13)
      • Embedded (1)
      • CS (5)
        • Network (1)
        • Blockchain (4)
      • 자격증 (2)
      • 기타 (1)
        • Tistory (1)
  • 블로그 메뉴

    • GitHub
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    블록체인
    수학
    티스토리챌린지
    우선순위큐
    Heap
    재귀
    순열
    브루트포스
    Error
    그리디
    알고리즘
    html5
    중복순열
    bfs
    dfs
    오블완
    Algorithm
    파이썬
    백트래킹
    SSAFY
    Next.js
    SSAFYcial
    힙
    싸피
    구현
    React
    Java
    DP
    백준
    강의
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
올콩
[Django] 개발 환경 구축 (Python, 가상환경, Docker)
상단으로

티스토리툴바