[Django] 장고 개발 환경 준비하기

싱숭생숭어·2023년 4월 18일
0

Django

목록 보기
2/19
post-thumbnail

<참고: 점프 투 장고 위키독스>

1. 파이썬 가상 환경 사용하기

django에서 가상환경을 사용하는 이유?

파이썬 가상 환경은 파이썬 프로젝트를 진행할 때 독립된 환경을 만들어 주는 도구 !

예를 들어 파이썬 개발자 A가 2개의 장고 프로젝트를 개발하고 관리한다고 가정하자. 파이썬 장고 프로젝트를 각각 P-1, P-2라고 부르겠다. 이때 P-1, P-2에 필요한 장고의 버전이 다를 수 있다. (예를 들면 P-1에는 장고 3.1 버전이, P-2에는 장고 4.0 버전이 필요) 이때 하나의 PC에 서로 다른 버전의 장고를 설치해야 하는 문제가 생긴다.
이러한 개발 환경은 구축하기도 어렵고 사용하기도 힘들다. 하지만 파이썬 가상 환경을 이용하면 하나의 PC 안에 독립된 가상 환경을 여러 개 만들 수 있다. 즉, 프로젝트 P-1을 위해 가상 환경 V-1을 만들어 장고 3.1 버전을 설치하고, 프로젝트 P-2를 위해 가상 환경 V-2를 만들어 장고 4.0 버전을 설치해서 사용할 수 있다.

여러 프로젝트를 진행할 때 발생할 수 있는 버전 문제를 방지하고자 서로 독립된 환경을 만들어 다른 버전의 장고를 설치해주는 것이다 !!

1-1 VSCODE WSL에서 가상 환경 사용하기

위 책에서는 기존 윈도우 C에서 가상 환경을 담을 폴더를 생성하고 가상 환경을 설치하지만, 나는 수업때 활용하는 linux 기반 Ubuntu에서 가상 환경을 설치 및 실행할 예정이다 !

나는 VSCODE -> WSL -> home/user-name/workspace 라는 폴더 안을 열어 가상환경을 설치 및 실행할 것이다.

진짜 어이없다. 시작한지 3줄만에 벌써 error라니 ...
E: 다음에 나오는 구문을 열심히 해석하고 sudo apt install python3-venv도 쳐봤는데 또 error ... 그래서 이번엔 오류의 이유로 추정되는 Package 'python3-venv' has no installation candidate를 구글링해봤다.

한 블로그에서 sudo apt-get update -> sudo apt-get install python3-virtualenv -> sudo apt install python3-venv 를 실행한 뒤

python3 -m venv mysite를 시도해보면 제대로 실행된다고 하길래 ... 순서대로 열심히 입력해보았따

오 먼가 작업이 열심히 이루어지고 있음 !!!

헉! 드디어 오류 없이 제대로 가상 환경이 설치 및 실행되는 걸 볼 수 있다 ㅠㅠ

windows에서 가상 환경 진입 코드

C:\venvs>cd C:\venvs\mysite\Scripts
C:\venvs\mysite\Scripts> activate
(mysite) C:\venvs\mysite\Scripts>

activate 입력 시 C 옆에 (mysite) 가상 환경이 제대로 실행된다.

MAC(Linux)에서 가상 환경 진입 코드

gyu@mymac venvs % cd mysite/bin
gyu@mymac bin % source activate
(mysite) gyu@mymac bin %

activate 입력 시 C 옆에 (mysite) 가상 환경이 제대로 실행된다.

windows는 가상 환경의 Scripts 폴더를, MAC은 가상 환경의 bin 폴더에서 activate를 입력해 진입하고, 나올때는 deactivate를 입력한다.

1-2 장고 설치하기

앞서 언급했듯, 가상 환경에 진입한 상태에서 장고를 설치해야 버전 충돌을 방지할 수 있다.
따라서 입력창 앞에 (mysite)가 붙어있는지 확인한 후,

pip install django==4.0.3을 입력해주면 정상적으로 장고가 설치되는 걸 볼 수 있다. 책에서는 경고 메시지(pip가 최신버전이 아니라는)에 따라 python -m pip install --upgrade pip 명령을 입력해 pip을 최신 버전으로 설치하라고 했는데, 나는 경고 문구가 뜨지 않아 따로 건드리지 않았음 !

profile
공부합시당

0개의 댓글