#3. 사전공부 - Django 설치와 가상환경

나른한 개발자·2021년 12월 7일
0

studylog

목록 보기
3/45

오늘은 Django를 설치해보았다.

파이썬 공부를 하던 중에 문득 이렇게 문법만 익혀서 어디다가 쓰지라는 생각이 들었다. 문법 물론 중요하지만 직접 간단한 프로그램이라도 짜보면서 모르는 부분은 그때 그때 찾아보는게 훨씬 효율적이고 기억에도 오래 남을 것 같았다.

그래서 실습을 할 수 있는 강의를 찾아다니다가 아예 간단한 웹페이지 구현을 해보자 싶어서 장고 설치에 들어갔다.

여담으로 이전에 Mac에 기본으로 설치되어있는 파이썬 버전 말고, 3.8 이상의 버전을 사용하고 싶어서 명령어 ln으로 심볼릭 링크를 시도해보았으나...몇번을 명령어를 입력해도 버전이 바뀌지 않았다 (흑,,,)
이 부분은 개강하면 멘토님들께 조언을 구해봐야겠다!!


아무튼 Django 사이트에 접속하여 차근히 가이드라인을 따라해보니 장고에 대해 조금 알 수 있었다.

django-admin startproject mysite

상기의 명령어를 이용하여 처음 디렉토리를 생성하면 다음과 같은 파일들이 생성된다.

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
  • manage.py: 디렉토리 생성 시 자동으로 생성되는 파일로, 사이트 관리를 할 수 있다. 단일 프로젝트인 경우 django-admin보다 manage.py를 이용하는 것이 간편하기도 함.
$ django-admin <command> [options]
$ manage.py <command> [options]
$ python -m django <command> [options]
  • settings.py: 현재 프로젝트의 환경 및 구성을 저장한다.
  • urls.py: 프로젝트의 URL을 저장한다.
  • wsgi.py: Web Server Gate Interface. 웹 서비스의 첫 진입점이다.


    이렇게 설치를 해주고 튜토리얼에 나와있는대로
    서버를 실행하니 importError가 발생했다.
$ python3 manage.py runserver
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

튜토리얼대로 따라했는데 왜 안되징...하고 구글 교수님께 질문을 해본 결과 가상환경이라는 것을 알게 되었다.

💡 가상환경을 쓰는 이유
작업을 하다보면 종종 pip으로 표준 라이브러리 이외의 모듈 및 패키지를 사용하게 된다. 시간이 지남에 따라 패키지도 업데이트가 될 수 있는데, 이때 서로 의존적인 패키지들이 버전이 충돌할 수 있다.

또한 작업환경이 바뀌어 다른 컴퓨터에서 작업을 해야하거나 프로젝트 배포를 위해 원격 서버에 패키지들을 설치해야할 때 가상환경 그대로 작업환경을 구축하면 버전 및 작업환경이 달라 발생할 수 있는 충돌을 방지할 수 도 있다.

즉 독립적인 작업환경을 구축하기 위해 가상환경을 만들어 특정 버전의 파이썬과 모듈을 설치하여 각각 프로젝트만의 환경을 구성해주는 것이다.

가상환경을 만들지 않고도 개발을 할 수도 있지만 여러 프로젝트를 만들 수록 에러가 발생할 확률도 는다고 하니 바로 가상환경을 만들어 보기로 했다. (에러 지옥을 피하기 위해..!)

가상환경 구축 방법은 간단하다.

  1. pip으로 vertualenv를 설치한다
$pip3 install virtualenv
  1. 작업할 디렉토리에서 가상환경을 생성한다
$virtualenv (name of virtual env)
  1. 가상환경을 활성화 한다.
$source (name of virtual env)/bin/activate
  1. 가상 환경 상에서 장고를 설치한다
$pip3 install django

아래와 같이 입력했을 때 버전이 확인된다면 제대로 한 것이다.

$django-admin --version

가상환경 비활성화는 deactive 를 입력하면 된다.

이렇게 가상환경을 만들어주고 다시 실행하니 정상적으로 서버가 실행되었다. 얄루!



오늘은 이렇게 장고 설치, 가상환경 생성, 서버 실행까지 해보았다.

본격적으로 장고를 만져보니 이제 정말 웹 프로그래밍을 하는 기분이 난다 ㅎㅎ
그냥 연습이니까 간단하다는 Flask를 해볼까 생각도 했지만 앞으로 장고를 쭉 쓸 것 같아서 이왕 하는 김에 장고를 시도해보았다. 그리고 잘한 선택인 것 같다.

다음번에는 장고 사이트에 나와있는대로 몇가지 튜토리얼을 해보고 본격적으로 클론코딩에 돌입해봐야겠다.

다음에도 퐈이야🔥


참고: https://www.djangoproject.com/

profile
Start fast to fail fast

0개의 댓글