2. 장고 개발을 위한 Python과 PyCharm 준비하기
등록일 : 2020.12.15. 19:26
이번 장에서는 장고사용을 위한 환경 설정을 만들고자 한다. 시작 전에 딱 두 가지만 먼저 생각해보고 시작하자.
웹사이트는 왜 만들어질까?
당신이 어떤 회사의 CEO라면, 회사 홍보를 위한 웹사이트를 만들자고 할 것이다. 부업으로 물건을 팔고 있거나 팔아볼 예정이라면 전자 상거래(쇼핑몰) 사이트가 필요할 수도 있다. 펜션 운영을 하고 있다면 예약을 웹 사이트로 받고 싶어 할 수도 있다.
펜션 예약을 예로 들어보자. 웹사이트가 없다면 펜션 예약을 어떻게 신청하고 받을 수 있을까? 아마도 직접 관리해야 할 것이다. 주말에도 예약을 원할 것이고 전화 통화가 잘 되지 않는 다면 '이 펜션은 영업을 안 하나?' 오해할 수도 있다.
그런데 이 모든 것이 가능한 웹사이트를 잘 만들어 두면 예약 전화를 일일이 받을 필요도 없고, 해당 날짜에 예약이 비어있는지 체크할 필요도 없고, 심지어 결제와 환불까지도 모두 손 하나 까딱 안하고도 할 수 있다. IT(정보통신)기술의 시작은 다 이런 목적으로 탄생했다. 물론 구축과 업데이트에 시간도 써야겠지만 한번 잘 구축해두면 적은 유지비 만으로도 꽤 오래 유지 될 수 있다. 그리고 거기에 사용했던 시간을 벌어 그 시간에 여러분들은 더 원하는 활동을 할 수 있다. 컴퓨터와 프로그래밍, 웹 서비스들의 모든 목적은 컴퓨터에게 나 대신 일을 시키는 데 있다.
소비자에서 서비스 제공자 되기
정리하면 웹 개발의 최종 목적은 브라우저로 접속해 소비자가 원하는 서비스를 제공 할 수 있도록 하는 것이다. 웹으로 어떤 활동이 가능할까? 인터넷으로 검색하고, 웹툰도 보고, 유튜브 같은 동영상도 보고, 노래도 듣고, 쇼핑몰에서 물건을 사고, 설문조사하고 뉴스도 보고 블로그를 보는 등 광범위한 활동이 웹에서 이루어짐을 알 수 있다.
이런 서비스는 제공하는 사람과 사용하는 사람으로 구분할 수 있는데 보통의 우리들은 사용자로 대부분 이용한다. 하지만 웹 사이트를 만들겠다는 생각을 했다면 제공자(또는 관리자)와 사용자 관점으로 제작해야 한다. 제공자는 곧 건축에서의 시공자(시공사)와 같은 개념이다. 누가 사용할 웹사이트인가에 따라 어디에 집을 지을 것이며 어떤 재료를 쓰고 어떤 구조를 통해 사용할 것이고 어떤 것은 직접 만들고 어떤 것은 만들어진 것을 살지 고민 해야 한다.
Django로 웹 사이트 제작을 시작해보자
우리는 이 책에서 Django를 사용해 제작하기로 했다. 장고를 사용해 웹을 만드는 당신은 IT업계에서 개발자로 부른다. 이제부터 당신은 개발자이자 서비스 제공자 마인드를 가져야 한다. 준비할 것은 컴퓨터 한 대만 있으면 된다. 컴퓨터만 있다면 바로 시작할 수 있다. 제작을 위해 추가적인 비용이 필요하지 않다.
서비스 제공자 - 서버 - 클라이언트 - 사용자
서비스 제공자의 서비스를 실제로 해주는 컴퓨터 장비를 서버라고 생각하자. 서버 - 클라이언트라는 말을 많이 들어보았을 것이다. 제공부터 시작하여 제공자 - 서버 - 클라이언트 - 사용자에게 도달할 것이다.
우리는 가지고 있는 컴퓨터를 웹 사이트 개발을 위한 서버로 만들 수 있다. 장고에서 이 기능을 제공한다. 그리고 컴퓨터에 설치되어있는 인터넷이 가능한 브라우저가 있을 것이다. 보통 익스플로러, 크롬 등의 브라우저가 서버와 상호작용을 할 수 있도록 도와준다. 클라이언트 역할은 바로 웹브라우저가 해준다.
이렇게 되면 하나의 컴퓨터에서 제공자와 사용자 역할을 모두 해볼 수 있다. 이제부터 여러분은 혼자 1인 2역을 해 보자. 서비스 제공자이자 이용자로 역할을 바꿔가며 역할 놀이를 할 것이다. 개발하는 관점은 서비스 제공자의 관점으로, 이를 또 사용하고 테스트할 때는 사용자의 마음으로 테스트하길 바란다.
참고로 일반적인 사용자들은 '사용자' 관점의 화면만 보인다. 브라우저에서 보이는 부분은 사용자에게 직접 보이는 부분으로 사용자 UI(사용자 인터페이스) 화면으로 불리거나 그냥 웹사이트, 홈페이지 등으로 불린다. 여기서는 그 사용자에게 제공되는 보이지 않는 영역에 눈을 뜨게 해줄 것이다.
장고 시작을 위한 프로젝트 선정하기
그러기 위해서는 프로젝트를 하나 정해서 하는 것이 좋다. 여기서는 장고 튜토리얼 사이트에서 소개하고 있는 것과 동일한 온라인 투표 서비스를 만들어 보겠다.
온라인 투표 서비스는 특정 주제에 대해 선택지가 주어지고, 이를 선택하여 투표 할 수 있다. 투표하게 되면 투표 결과에 어떤 항목에 얼마나 많이 투표했는지 결과를 알 수 있다.
개발 환경 준비하기
장인은 도구를 탓하지 않는다. 하지만 우리는 장인이 아니다. 기본 도구 없이는 시작조차 할 수도 없는 것이 현실이다. 최소한의 비용으로 최대의 효과를 내는 구성을 해 보겠다. 컴퓨터를 가지고 있다면 추가 비용이 1원도 필요 없는 구성으로 시작한다.
환경 설정을 위해서는 컴퓨터가 인터넷 네트워크에 연결 되어있어야 한다. 대부분의 과정은 인터넷에서 다운로드받고 설치하는 과정이 포함되므로 환경설정 과정에서는 필히 인터넷(유선, Wifi 등)이 연결 되었는지 체크한다. 각종 프로그램 다운로드 및 설치 후의 과정은 인터넷 연결 없이도 대부분 가능하다.
장고를 사용하기 위한 Python 설치하기
파이썬은 프로그래밍 언어로 초심자가 배우기 쉽고 사용이 간결하다. 다른 언어에 비해 빠르고 재미있게 배울 수 있고, 실제로 현업에서도 광범위하게 쓰인다. 배워둬서 손해 볼 일은 절대 없다. 장고를 배우는데 왜 파이썬을 설치하는지 의아해할 수 있으나 Django는 파이썬을 기반으로 사용되기 때문이다.
윈도우즈 환경 설치 Python 다운로드 - https://www.python.org/downloads/ 로 접속한다. 다운로드 후 실행 후 Install Now 버튼을 통해 클릭한다. 하단의 Add Python 3.X to PATH도 체크하여 설치해주자. 파이썬 설치가 완료되었다면 재부팅을 한번 진행한다.
MacOS 환경 설치 맥의 경우는 기본으로 python이 설치되어 있다. 맥에서 F4(또는 Dock에서 Launchpad 아이콘 실행) - 터미널을 선택하여 실행한 후 현재 설치된 버전을 체크해보자.
맥 터미널에서 python
커맨드를 입력해본다. $ 표시가 보일 수도 있고 ~나 % 표시가 보일 수도 있다. 사용에 문제는 없으니 여기서는 $로 기술하면 터미널에서 명령어를 입력하는 것으로 생각하자.
MacOS의 기본 python 버전 확인
$ python
Python 2.7.17 (default, Oct 24 2019, 12:57:47)
[GCC 4.2.1 Compatible Apple LLVM 11.0.0 (clang-1100.0.33.8)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> 커서가 있는 곳에서 exit()
명령어를 입력해 파이썬 인터프리터에서 빠져나오자.
$ python
Python 2.7.17 (default, Oct 24 2019, 12:57:47)
[GCC 4.2.1 Compatible Apple LLVM 11.0.0 (clang-1100.0.33.8)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
$
방금 한 부분이 파이썬 인터프리터를 접속했다 종료하는 방법이다. 파이썬 학습을 위해 인터프리터를 사용하는 경우가 많지만, 우리는 주로 파일로 직접 편집할 것이라 본 과정에서는 많이는 사용되지 않지만, 꼭 알고는 있자.
버전이 3.x 가 표시된다면 그대로 사용해도 된다. 버전이 2.x 가 표시된다면 python3 를 설치하고 사용하겠다. brew install python3
명령어를 입력해보자. 그전에 brew 명령어를 써본 기억이 없거나 사용하지 않았다면 brew 부터 설치해주도록 하자.
https://brew.sh/index_ko 에 접속하여 $로 시작하는 명령어를 복사한다.
MacOS의 Homebrew 설치하기
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
복사한 명령어를 터미널에서 수행한다. 설치를 위해 Mac의 비밀번호를 입력할 수 있고 중간에 설치 확인을 위해 Enter 키를 누를 수 있다. 설치 시작 후 기다리면 설치가 완료될 것이다. 이미 설치한 사용자라면 이 과정은 건너뛰자.
다음은 파이썬 3버전을 설치한다.
$ brew install python3
명령어로 python3 를 설치한다. Mac의 경우 python2 와 3이 같이 설치되었다면, python 3버전을 실행하기 위해서는 명령어를 python3 라고 입력해야 한다.
OS별 파이썬 설치 확인 및 Python 인터프리터 진입 및 종료
Windows OS 환경
[시작] 윈도우 버튼 > 검색 > – cmd 엔터 > C:\...>python 엔터 [종료] >>> exit() or Ctrl-Z 엔터
Mac OS 환경
[시작] 터미널 실행 – python 엔터, python2 와 3이 같이 설치된 경우는 python3 로 실행 [종료] exit() or Ctrl-D 엔터
PyCharm 설치하기
프로그래밍을 하기 위해서는 도구가 필요하다. 파이썬 개발을 돕는 개발 툴들이 많이 나와 있다. 개발 툴의 종류는 매우 많은데, 여기서는 Pycharm(파이참) 이라는 개발 툴을 활용하여 진행한다. 본인이 이미 다른 도구를 사용하고 있다면 그 도구를 사용해도 무방하다. 그러나 모든 설명은 파이참 기준으로 진행된다는 점을 알아두자.
파이참 다운로드 : https://www.jetbrains.com/ko-kr/pycharm/download/
Professional 버전과 Community 버전이 있다. 커뮤티티 버전은 무료이며 이 책을 통한 학습을 진행하는 데 부족함이 없다. 커뮤니티 버전으로 설치하여 진행하고, 나중에 툴의 다양한 기능이 필요하다면 유료 버전을 사용하거나 다른 개발 도구도 검토하도록 하자. 개인적으로는 전문 개발자가 되지 않는 이상 Professional은 권장하지 않는다. 혹여나 전문개발자가 되더라도 개인이 구매하지 말고 회사에 구매요청을 하자.
다운로드가 완료되었다면 실행하고, 안내에 따라 설치한다. 특별히 옵션을 설정할 것도 없이 Next 버튼과 Install 버튼을 눌러 설치하면 된다. 설치가 다 되었다면 Run PyCharm Community Edition을 클릭하고 Finish 버튼을 누른다. 물론 체크하지 않아도 추후에 파이참 아이콘을 눌러 실행할 수 있다.
파이참에서 프로젝트 만들기
파이참을 실행하면 Import PyCharm Settings 창이 발생하는데, Do not import settings 체크된 상태로 OK 버튼을 누른다. UI Theme 선택 - 원하는 색상으로 선택한 후 왼쪽의 Skip Remaining and Set Defaults를 클릭한다.
클릭 후 기다리면 다음과 같은 화면이 뜰 것이다. 화면은 Windows 기준이다.
New Project를 누른다.
프로젝트 설정 창이 나타난다. 폴더 이름은 편한 대로 변경하겠지만, 여기서는 편의를 위해 mysiteProject
로 변경하겠다. 나머지 구성은 화면과 동일하게 선택하자. 그리고 마지막에 Create a main.py welcome script는 우리는 사용하지 않으므로 체크 해제 하여준다. 나머지 설정은 변경하지 않고 그대로 둔채 Create를 누른다.
다음과 같이 빈 창이 나타났다면 설정이 완료된 것이다.
우측 하단에 <No interpreter>
부분이 보인다면 이 부분을 클릭해 설정하자. Python 3.x (mysiteProject)
로 표시되는 경우는 잘 된 것이니 건너뛰자.
파이참에서 사용할 인터프리터가 올바르게 설정되지 않았을 경우는 이 부분에서 캡쳐 화면을 참고하여 선택해주면 된다. 최초에 프로젝트를 만들 때 가상환경이 venv로 설정되었다. 여기에 해당하는 python 경로를 선택해주면 된다.
정상적으로 된 경우 아래 pip와 setuptools 두개가 보일 것이다. 완료되었으면 OK를 누른다.
이제 Pycharm 을 종료하고 다시 시작해보자. 종료 후 왼쪽 구석의 윈도우 키를 누른 후 Pycharm 을 타이핑하면 방금 설치한 파이참이 보일 것이다. 다시 클릭하여 실행한다. 다시 실행해면 방금 만들었던 프로젝트가 열릴 것이다. 추후에 프로젝트가 늘어나면 원하는 프로젝트를 선택하여 오픈하면 된다. 우리는 'mysiteProject' 라는 이름으로 만들었으므로 이를 기억하고 해당 프로젝트를 오픈하도록 하자.
준비되었으니 이제 다음 장으로 넘어가 보자.