파이썬(Python) django 설치

BG·2021년 5월 31일
0

django

목록 보기
1/2
post-thumbnail

1. django란 무엇일까요?

[django란?]
파이썬에서 웹사이트 구축을 손쉽게 해주는 프레임워크입니다.

[프레임워크(framework)란?]
그렇다면, 프레임워크는 무엇일까요?
프레임워크는 쉽게 말하면 도구의 집합체입니다.
예를 들어봅시다.
식당을 오픈하기 위해서는 여러가지 도구들이 필요합니다.
전자레인지도 필요하고, 음식을 담기위한 그릇도 필요할것이고,
재료를 손질하기 위한 칼,도마 등등 다양한 도구들이 필요합니다.
하지만 이런 도구들이 없고, 지구상에 존재하는 판매처도 없다면 어떻게 될까요?
직접 전자레인지, 칼, 도마, 그릇 등등을 다 만들어야 할것입니다.
만약에 식당을 오픈하기 위해 모든것을 제공해주는 것이 있다면 편리하겠죠?
그런 도구들의 집합체가 프레임워크가 되는것입니다.
즉, django란 웹사이트를 구축하기 위해 각종 편리한 도구들을 제공해주는 집합체인 것입니다.

2. django설치를 위한 사전 패키지 설치

django를 설치하기 위해서는 몇가지 준비사항들이 필요합니다.

  • homebrew
  • miniconda
  • mysql

[homebrew?]
homebrew란 사용자 환경에서 필요한 각종 패지키지들을 손쉽게 설치 가능하도록 도와주는 프로그램입니다.
homebrew를 이용하지 않는다면 직접 필요한 패키지들을 다운로드&설치를 하기 위해 공식사이트를 뒤져야 하는 번거로움이 있습니다.
하지만 homebrew를 이용한다면 간단한 명령어만으로도 필요한 패키지 설치가 가능합니다.

[minicoda?]
miniconda란 파이썬 django를 사용하기 쉽게 가상환경을 제공해주는 패키지 정도로 알고 넘어가면 됩니다.

[mysql]
데이터베이스 관리 프로그램입니다.
데이터베이스 관리 프로그램은 mysql이외에도 대표적으로 oracle, mariaDB 등등이 있습니다.

2-1. homebrew 설치

아래와 같이 설치합니다.
(아래는 맥북 M1 기준입니다.)

먼저 homebrew를 설치할 폴더를 만듭니다.
sudo 명령어를 붙이는 것은 슈퍼유저에 준하는 권한을 받아서 만들기 위함입니다.
mkdir뒤에 -p를 붙이는 이유는 현재 homebrew의 상위 폴더인 opt폴더가 존재하지 않기에 homebrew의 상위폴더인 opt폴더도 함께 만들기 위해서 입니다.

sudo mkdir -p /opt/homebrew

경로를 생성한 다음 생성한 경로에 권한을 부여합니다.
sudo chown -R 501:wheel /opt/homebrew

이제 아래 명령어를 통해 homebrew를 설치합니다.
cd /opt curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

homebrew의 설치가 끝나면 이제 shell에다가 아래의 경로를 추가해줍니다.
vi ~/.zshrc
export PATH="/opt/homebrew/bin:$PATH"

2-2. miniconda 설치

아래 페이지로 가서 자신에게 맞는 버전으로 미니콘다를 다운로드 합니다.
(저는 맥북이라 맥os용으로 진행하겠습니다.)

[미니콘다 다운로드]
https://docs.conda.io/en/latest/miniconda.html

다운받은 경로로 가서 파일의 권한을 변경해 줍니다.
[MAC]
chmod +x 파일명
chmod +x Miniconda3-latest-MacOSX-x86_64.sh

권한을 변경한 다음 명령어를 입력하여 다운 받은 파일을 실행합니다.

[MAC]
./파일명
./Miniconda3-latest-MacOSX-x86_64.sh

MAC은 설치과정중에 zsh에 적용할것인지 질문이 나오는데 Y를 입력하면 별도로 zsh에 적용해주는 명령을 따로할 필요가 없습니다.

2-3. MySQL 설치

MySQL은 이미 설치한 brew를 이용해서 설치하면 간편하게 끝이 납니다.

brew install mysql

설치가 완료되면 다음 명령어로 MySQL을 시작합니다.

mysql.server start

그리고 아래 명령어로 기본 설정을 시작합니다.

mysql_secure_installation

이제 여러 질문들이 출력됩니다. 출력에 대한 답은 본인이 한 방법으로만 간단하게 기술하겠습니다.

우선 아래의 과정에 앞서 정리해보자면 아래와 같습니다.

  1. 비밀번호 복잡도 검사 과정 (n)
  2. 비밀번호 입력 & 확인
  3. 익명 사용자 삭제 (y)
  4. 원격 접속 허용하지 않을 것인가? (n)
  5. test DB 삭제 (y)
  6. previlege 테이블을 다시 로드할 것인지 (y)

컴퓨터의 재부팅과 상관없이 항상 MySQL서버가 켜져있게 할려면 아래 명령어를 이용하시면 됩니다.
brew services start mysql

2-4. VisualStudioCode 설치

VisualStudio Code는 아래 주소에 가셔서 다운 받으시고 일반 프로그램 설치 하듯이 하시면 됩니다.

[VisualStudio Code]
https://code.visualstudio.com/

3. miniconda 환경설정

3-1. 가상환경 만들기

miniconda설치 후, 터미널창에 접속 하면 나오는 최초화면입니다.
base는 현재 터미널의 주인이 base라는 뜻입니다.

명령어 : create conda -n [가상이름] python=3.8

[명령어 세부내용]
create conda -n [가상이름] --> conda에 가상환경 NAME설정
python=3.8 --> conda 가상환경을 만들때 python3.8버전도 같이 설치해라는 의미입니다.

명령어 : conda activate [가상이름] --> create명령어로 만든 가상환경에 접속하는 명령어

3-2. django설치

create명령어로 만든 가상환경에 접속하여 django프레임워크를 설치합니다.
명령어 : pip install django

[명령어 세부내용]
pip는 python을 설치하면서 함께 설치된 패키지 입니다.
파이썬에 필요한 각종 프레임워크나 도구들을 손쉽게 설치해주는 brew와 비슷한 기능을 가진 패키지입니다.

3-3. pymysql 설치

brew를 통해 설치했던 mysql과 django로 만들게 될 서버와 연결을 시키기 위하여 필요한 패키지가 있습니다.
대표적으로 mysqlclient와 pymysql이 있습니다.

기능적으로는 차이가 없으며, mysqlclient은 C언어로 만들어 졌으며, pymysql은 순수파이썬으로 만들어져 있습니다.
공식 홈페이지에서는 mysqlclient를 추천합니다.

하지만, 제가 pymysql을 선택한 이유는 제 작업환경이 M1칩을 탑재한 맥북이라서 그렇습니다..

mysqlclient는 정상 설치되나 서버를 ON하면 _mysql을 찾을수 없다는 오류와 함께 서버가 실행되지 않습니다..

[mysqlclient 정상 설치]

[서버실행 후 오류 화면]

그래서 저는 pymysql을 설치 합니다..

명령어 : pip install pymysql

pymysql설치 후 서버까지 정상구동 되는것을 확인할 수 있습니다.
(서버를 구동시키지 위해서는 추가해야 될 소스코드가 있습니다.아래에서..)

3-4. 초기 프로젝트 생성

프로젝트를 생성하고 싶은 폴더로 이동합니다.
저는 바탕화면에다가 프로젝트를 생성해 보겠습니다.

명령어 : django-admin startproject [프로젝트명]
저는 pytest1이라는 프로젝트를 바탕화면에 설치하였습니다.

4. MySql 연동

4-1. DATABASE 생성

[mysql 접속]
명령어 : mysql -u root -p 엔터
(TEST 환경이니 일단 root로 접속 합니다.)

[password 입력]
키보드로 password를 입력하면 콘솔창에는 입력한 비밀번호가 나타나지 않고 아무 움직임이 없는것처럼 보이지만 원래 그런것이니 무시하고 password입력후 엔터키를 치면 됩니다.

[DATABASE 생성]
명령어 : create database [DATABASE명];

[DATABASE 생성 확인]
명령어 : show databases;

아래 사진과 같이 pytest1이 만들어 진것을 확인할 수 있습니다.

4-2. DATABASE 연동

앞서 pip로 설치한 pymysql과 brew로 설치한 mysql을 연동해 보겠습니다.
VisualStudioCode로 생성된 프로젝트를 열어, settings.py파일에 다음과 같이 설정합니다.

아래 코드에서 USER는 root를 입력하시면 됩니다.
(TEST 환경이니 일단 root로 설정 합니다.)

DATABASES = {
    'default' : {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'MYSQL DATABASE명',
        'USER': '자신이 설정한 MYSQL ID',
        'PASSWORD': '자신이 설정한 MYSQL PASSWORD',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

4-3. 연동 확인

연동이 잘되었는지 확인을 위해 migrate 명령어를 사용해 보겠습니다.
(django는 생성한 DATABASE에 migrate명령어를 통해 테이블을 자동 생성 시킬수 있습니다.)

[DATABASE 사용하기]
mysql에 접속하여 생성한 DATABASE를 사용하기 위해서는 지금부터 내가 어떤어떤 DATABASE를 사용하겠다는 의미로 use 명령어를 사용합니다.

명령어 : show databases; --> 어떤 database가 생성되었는지 확인
명령어 : use [DATABASE명]; --> database를 사용하겠다는 의미
명령어 : show tables; --> 선택한 database안에 생성된 테이블 확인
[migrate전]
show tables; 명령어로 확인해 보면 생성된 table이 하나도 없습니다.

[migrate후]

mysql에서 show tables;로 확인을 해보면 테이블이 생서된 것을 확인할 수 있습니다.

settings.py에서 설정한 데이터베이스에 migrate로 테이블이 잘 생성된 것을 확인했다면 pymysql로 mysql과 django가 잘 연결되었다는 것을 의미합니다.

이것으로 django 설치는 끝이 나게 됩니다~!!

profile
글쎄...?

0개의 댓글