Development Environment
Setting
이제 본격적으로 개발을 하기 전에 개발을 할 수 있도록 환경을 준비해야합니다. 저희들은
Python과 Django를 이용할 것이기 때문에 당연히 Python과 Django를 설치해야합니다. 그러나
첫 번째로 구성할 것은 가상의 개발환경입니다.
1. 가상 머신 구성
[Figure 1. VirtualMachine]
위는 개발을 하는 컴퓨터 내에 가상 머신(컴퓨터)을 설정하여 MySQL과 같은 다른 소프트웨어를 설
치한 그림입니다. 이렇게 자기 컴퓨터에 다른 컴퓨터를 구성하는 것을 가상 머신 혹은 가상 환경을
구성한다고 말합니다.
그렇다면 가상의 개발 환경을 구성하는 이유는 무엇일까요?
1) 개발 편의성
예를 들면 좀 더 이해하기 쉬울 것 같습니다. 빠르게 변화되고 있는 IT 세계지만 항상 빠르게 대처
하기란 쉽지 않습니다. 즉, 다른 소프트웨어를 이용해 개발하는 경우가 있을 수 있지요. 이럴 때 서
로 다른 소프트웨어를 같은 곳에 설치하는 것보다 다른 환경에 설치하여 각기 다른 환경에서 개발
하는 것이 복잡하지 않아 개발이 편리합니다. 그렇기 떄문에 가상환경을 구성하는 것입니다.
2) 로컬환경에서 서버 환경과 흡사하게
결국 개발하게 될 서비스는 개발 서버가 아닌 실제 운영 서버에서 운영이 될 것입니다. 각기
Development server, Production server 라고 부릅니다. 이렇게 개발과 운영 서버가 환경이 다르
면 개발하는데도 다르게 개발해야하기 때문에 되도록 개발할 때부터 서버 환경과 유사하게 만들
면 좋습니다.
1.1 VirtualBox와 Vagrant를 이용해 가상환경 구축하
기
[Figure 2. Virtualization Architecture]
가상화 전체 아키텍처를 도식화한 그림입니다. 지금까지 VirtualBox, Vagrant 등을 설치하기만 했
는데 그런 일련의 작업을 도식화해서 보면 이해하기가 쉽습니다. 하지만 아직 복잡한 것도 사실입
니다. 밑에서 천천히 살펴보겠습니다.
1) Local Computer
여러분이 개발을 하게 될 컴퓨터를 의미합니다. 모든 작업이 이루어지겠지요. 주로 운영체제는
Windows 또는 OS X가 될 것입니다.
2) Vagrant
가상의 컴퓨터(VirtualMachine, VM)를 관리해주는 도구입니다. 가상화할 운영체제를 다운로드,
설치, 제거, 실행, Shutdown 등의 작업을 Vagrant로 할 수 있습니다. Vagrant는 공식사이트에서
무료로 다운로드 받을 수 있습니다.
3) Vagrant를 이용해 운영체제 박스 다운로드
Vagrant를 이용해 운영체제를 다운로드 받을 수 있습니다. 물론 오픈 소스 운영체제를 다운로드
받는 것입니다. 그런데 다운로드 받은 운영체제를 여기서는 Box라고 부릅니다. 여기서 우리는
Ubuntu 운영체제가 설치되어 있는 Laravel Homestead 박스를 다운로드 받을 것입니다. 이 박
스는 운영체제 뿐만 아니라 개발할 때 필요한 각종 소프트웨어를 미리 설치해놓은 Vagrant Box입
니다.
+ Laravel Homestead에 설치되어 있는 소프트웨어
- Ubuntu 14.04
- PHP 5.6
- HHVM
- Nginx
- MySQL
- Postgres
- Node (With Bower, Grunt, and Gulp)
- Redis
- Memcached
- Beanstalkd
- LaravelEnvoy
- Blackfire Profiler
+ 다운로드 방법
$ vagrant box add {title} {url}
여기서 우리는 laravel/homestead를 다운받을 것이기 때문에 아래와 같이 실행합니다.
$ vagrant box add laravel/homestead
https://atlas.hashicorp.com/laravel/boxes/homestead
+ 그럼 다른 Box는 어디서 구하나요?
다른 Box는 Vagrant 공식 문서에 찾는 방법이 나와있습니다. 공식 문서에 나와있는 링크 주소를
따라가면 Vagrant box를 검색할 수 있는 사이트가 나옵니다.
4) 환경설정
1
+ 초기화
이미 환경설정(공유 폴더는 무엇이고, 어떤 IP를 이용하는지 등)을 만들어진게 있습니다. 이를 이
용하여 환경설정을 한 후 vagrant를 이용해 가상 머신을 구동해야 합니다.
$ vagrant init {title}
위의 방법대로 해도되지만 우리는 환경 설정 파일을 다운로드 받아 직접 실행하는 방법을 사용해
보겠습니다.
$ git clone https://github.com/laravel/homestead.git Homestead
위 명령은 git라는 버전관리 프로그램을 이용해 clone 즉, URL에 나와있는 저장소로부터
Homestead 라는 디렉토리에 복사해 오는 것입니다.
환경설정 파일을 Homestead 라는 디렉토리에 복사해왔기 때문에 당연히 Homestead 로 이동
을 해서 아래 명렁어를 입력합니다.
$ bash init.sh
이는 sh파일(shell)을 실행하는 명령어입니다. 이 파일을 실행해 초기화를 시키는 것입니다.
+ 환경설정
[Figure 3. ~/.homestead/Homestead.yamlfile에서 환경 설정]
이는 Home directory(~/)에 ~/.homestead/Homestead.yaml 파일에 있습니다. 이 파일을 통
해서 위와 같은 항목을 설정할 수 있습니다. 우리는 여기서 IP 주소와 folders(공유폴더) 를 유의하
여 보면 될 것 같습니다.
+ 가상 머신 구동 방법
[Figure 4. vagrant up]
Homestead 디렉토리에 Vagrantfile , init.sh 파일과 같은 중요한 환경설정 파일이 있습
니다. 위 그림과 같이 이 디렉토리 안에서 vagrant up 이라는 명령어를 통해 vagrant를 구동시
켜야 합니다. Vagrantfile 을 통해 환경설정된 운영체제를 구동하는 것이기 때문에
Vagrantfile 이 있는 곳에서 아래와 같은 명령어로 실행해야합니다.
$ vagrant up
+ 가상 머신에 접속
환경설정에 지정한 IP 주소인 192.168.10.10으로 vagrant라는 아이디를 이용해 접속을 하는데
기존에 미리 등록한 SSH라는 보안키로 접속하는 방식입니다.
$ ssh vagrant@192.168.10.10
혹은 Vagrantfile 이 있는 디렉토리 안에서 아래와 같은 명령어로 간단히 접속할 수도 있습니
다.
$ vagrant ssh
+ 접속한 Vagrant box에서 나오기
아래와 같이 입력하면 접속하 Vagrant box에서 나올 수 있습니다.
$ exit
+ 가상 머신 Shutdown
$ vagrant halt
어떤가요? 가상머신을 참 쉽게 관리할 수 있겠지유!?
4) VirtualBox
VirtualBox는 Oracle에서 만든 가상화 도구입니다. 컴퓨터 안의 또 다른 가상의 컴퓨터를 만들어
주는 기술인 것입니다. 이는 공식사이트에서 다운로드 받을 수 있습니다.
이 VirtualBox를 통해 컴퓨터 안의 또 다른 운영체제가 설치된 가상의 컴퓨터를 만들고 사용할 수
있는 것입니다. 또 다른 소트트웨어로 VMWare 등이 있습니다. Vagrant는 단지 VirtualBox로 만들
어진 가상머신을 관리해주기만 하고 실제 가상화 시키는 기술은 VirtualBox입니다.
2. virtualenv를 이용해 환경 설정하기
이렇게 위에서 가상 머신을 구축하였습니다. 하지만 마지막으로 하나 더 남았습니다. 복잡하죠?
이것만 하면 됩니다.
[Figure 5. 가상 환경 구조 - virtualenv 위치]
위 그림처럼 virtualenv는 가상 머신 안에 또 다른 가상 환경입니다.
앞으로 개발을 진행하면서 여러 파이썬 패키지를 설치할 필요가 있습니다. 그런데 여러 파이썬 패
키지를 한 곳에 설치하면 어떤 패키지가 쓰이고 안쓰이는지 구분이 쉽지 않겠지요. 그래서 이를 방
지하기 위해 가상 머신 안에 가상 환경을 둘 수 있습니다. 패키지별 가상 환경이라 생각하시면 될
것 같습니다. 패키지별 가상 환경을 가능하게 해주는 것이 바로 virtualenv입니다. 이는 두 가지
특징이 있습니다.
1. Isolated, 격리된
2. Reproducible, 재구성할 수 있는
독립적이며 격리된 환경을 제공하고 언제든지 패키지를 재구성할 수 있다는 의미입니다. 어려우
면 그냥 한 번 해보죠.
1) pip 설치
먼저 패키지를 설치하고 삭제하는 등의 관리를 해주는 도구가 필요합니다. 바로 pip이라는 것입
니다. pip은 Python Package Manager를 말합니다. 즉, pip을 통해서 Python으로 만들어진 패키
지를 설치하고 삭제하는 등의 관리를 할 수 있습니다.
리눅스, OS X
리눅스, OS X는 이미 pip이 설치되어 있어서 신경쓰지 않아도 됩니다.
그래도 설치법을 알아보겠습니다. 리눅스, OS X인데도 pip이 안되는 분들은 아래와 같이 하면 됩
니다.
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
윈도우
윈도우에서는 Python을 설치할 때 pip 포함해서 설치를 하는 옵션이 있는데, 이 옵션으로 설치했
다면 pip설치는 따로 하지 않아도 됩니다. 다만 시스템 변수 path에서 pip 파일이 있는 경로를 지정
해주셔야 합니다. 보통은 아래와 같은 경로에 설치가 됩니다. (Python 2.7 버전인 경우)
c:Python27Scripts
Python 설치 시 pip 포함해서 설치를 하지 않은 경우에는 따로 설치를 해줘야하는데 어렵지 않습
니다. 이는 인터넷에서 검색해서 해보시길 숙제로 드립니다.^^
pip 사용법
pip은 자주 사용하게 될 것입니다. 그래서 간단히 pip 사용법을 보도록 하겠습니다.
+ 설치하고 싶은 패키지 검색하기
$ pip search django
+ pip으로 설치한 패키지 목록보기
$ pip freeze
+ pip으로 패키지 설치하기
$ sudo pip install 패키지이름
+ pip으로 설치한 패키지 삭제하기
$ sudo pip uninstall 패키지이름
+ pip으로 설치한 패키지 찾기
$ pip freeze | grep 'django'
+ pip으로 설치한 패키지 목록을 텍스트 파일에 저장하기
$ pip freeze > requirements.txt
+ 패키지 목록이 저장되어 있는 파일을 불러와(import) 설치하기
$ pip install -r requirements.txt
2) virtualenv 설치
[Figure 6. virtualenv를 통한 가상 환경 접속 방법]
pip을 이용하여 virtualenv를 설치하면 위와 같이 가상환경을 따로 나누어서 사용할 수 있습니다.
저의 경우에 studybee 라는 프로젝트, py3 프로젝트, taxls 프로젝트로 나눠서 만들었 듯이 보통
은 프로젝트별로 나눠서 만들곤합니다.
1. virtualenv 설치
$ sudo pip install virtualenv
2. 가상환경이 저장될 공간만들기
$ mkdir ~/.virtualenvs
앞으로 만들 가상 환경과 각 가상 환경별 설치할 패키지가 위치하게 될 곳입니다.
3. 경로 지정해주기
~/ 경로에서 .bashrc 파일에 경로를 지정해줘야합니다. .bashrc 파일은 Shell(터미널)을 열
었을 때마다 실행되는 것이라고 생각하시면 됩니다.
파일에 접근
$ cd ~/
$ vim .bashrc
vim은 리눅에서 자주 사용하는 에디터입니다. vi 에디터에서 좀 더 발전된 형태입니다. 간단한 사
용법을 알려드리겠습니다. 편집 모드와 커맨드 모드 두 가지가 있습니다. 편집 모드로 들어가려면
영문자 i 혹은 o를 누르시면 됩니다. 커맨드 모드로 나오려면 ESC 버튼을 누르시면 됩니다. 저장하
려면 커맨드 모드에서 콜론(:)하고 w를 입력하고 저장 후 종료하려면 콜론(:)하고 wq를 입력하시
면 됩니다. 저장하지 않고 빠져나오려면 콜론(:)하고 q 또는 강제종료를 의미하는 q!를 입력하시면
됩니다.
파일에 추가할 내용
export WORKON_HOME=$HOME/.virtualenvs
4. 내용 반영
$ source ~/.bashrc
5. 지정한 경로 확인
echo $WORKON_HOME
4) virtualenvwrapper 설치
virtualenv를 더 편하게 사용할 수 있도록 도와주는 도구입니다. 이것도 pip으로 설치할 수 있습니
다.
1. virtualenvwrapper 설치
$ sudo pip install virtualenvwrapper
2. 설정
사실 위와 같이 설치하는 것만으로도 끝났습니다. 하지만 Shell을 열 때마다 virtualenvwrapper를
실행해야해서 매우 귀찮습니다. 따라서 Shell열 때 마다 실행되는 파일인 .bashrc 에 실행명령어
를 적겠습니다.
파일에 접근
$ cd ~/
$ vim .bashrc
파일에 추가할 내용
source /usr/local/bin/virtualenvwrapper.sh
기기 마다 설치 경로는 다를 수 있지만 보통은 위와 같습니다.
3. 내용 반영
$ source ~/.bashrc
4. 가상 환경 만들기
$ mkvirtualenv 가상환경이름
우리는 studybee 라는 이름으로 만들어보겠습니다.
$ mkvirtualenv studybee
5. 가상 환경 제거하기
$ rmvirtualenv 가상환경이름
6. 가상 환경 접속하기
$ workon 가상환경이름
위에서 studybee 라는 이름으로 만든 가상 환경으로 들어가 보겠습니다.
$ workon studybee
7. 가상 환경 나오기
$ deactivate
이렇게 해서 가상 머신을 구축하고 가상 환경까지 모두 설정해보았습니다. 이제는 본격적으로 개
발할 수 있도록 아래에서 Python과 Django를 설치해보도록 하겠습니다.
3. Python 설치
1) 설치
Linux와 OS X 사용자라면 기본으로 Python은 설치되어 있습니다. 윈도우에서 사용해보고 싶은
사용자는 아래 문서를 참고하시기 바랍니다.
http://bit.ly/1D0F8di
2) 실행
가상환경으로 접속하여 쉘 입력창에서 python 을 입력하고 엔터를 쳐봅니다. 정상적으로 실행
이 되었다면 >>> 처럼 생긴 프롬프트가 보일 것입니다. 이제 Python으로 개발할 수 있는 것입니
다.
4. Django 설치
1) 설치
Django는 패키지이므로 해당 패키지로 사용할 studybee 가상 환경에 접속합니다.
$ workon studybee
그리고 아래와 같이 입력하여 django를 설치합니다.
(studybee)$ sudo pip install django==1.7
만약 django==1.7 이 아니라 django 만 입력을 했다면 가장 최신 버전이 설치가 됩니다.
sudo 는 관리자 권한으로 실행하겠다는 의미입니다.
2) 확인
[Figure 7. Django Version 확인]
가상환경에서 python 을 입력하여 인터프리터로 들어갑니다. 여기에서 아래와 같이 입력해봅니
다.
import django
django.get_version()
위 그림처럼 Django 버전이 1.7 이 나오면 정상적으로 Django가 설치된 것입니다.
5. Summary
이번 챕터에서는 개발 환경 설정 부분을 살펴보았습니다. 가상 머신을 구축하였고, 가상 환경을 설
정하였습니다. 또한, Python, Django까지 설치를 끝냈습니다. 이제는 개발할 일만 남았습니다.
쉽진 않습니다. 하지만 열심히 하면 고수의 길을 갈 수 있겠지요. 수고하셨습니다.
Written with initialkommit@Study-Bee
1. http://xpressengine.github.io/laravel-korean-docs/docs/5.0/homestead/

Virtual Development Environment Setting

  • 1.
    Development Environment Setting 이제 본격적으로개발을 하기 전에 개발을 할 수 있도록 환경을 준비해야합니다. 저희들은 Python과 Django를 이용할 것이기 때문에 당연히 Python과 Django를 설치해야합니다. 그러나 첫 번째로 구성할 것은 가상의 개발환경입니다. 1. 가상 머신 구성 [Figure 1. VirtualMachine] 위는 개발을 하는 컴퓨터 내에 가상 머신(컴퓨터)을 설정하여 MySQL과 같은 다른 소프트웨어를 설 치한 그림입니다. 이렇게 자기 컴퓨터에 다른 컴퓨터를 구성하는 것을 가상 머신 혹은 가상 환경을 구성한다고 말합니다. 그렇다면 가상의 개발 환경을 구성하는 이유는 무엇일까요?
  • 2.
    1) 개발 편의성 예를들면 좀 더 이해하기 쉬울 것 같습니다. 빠르게 변화되고 있는 IT 세계지만 항상 빠르게 대처 하기란 쉽지 않습니다. 즉, 다른 소프트웨어를 이용해 개발하는 경우가 있을 수 있지요. 이럴 때 서 로 다른 소프트웨어를 같은 곳에 설치하는 것보다 다른 환경에 설치하여 각기 다른 환경에서 개발 하는 것이 복잡하지 않아 개발이 편리합니다. 그렇기 떄문에 가상환경을 구성하는 것입니다. 2) 로컬환경에서 서버 환경과 흡사하게 결국 개발하게 될 서비스는 개발 서버가 아닌 실제 운영 서버에서 운영이 될 것입니다. 각기 Development server, Production server 라고 부릅니다. 이렇게 개발과 운영 서버가 환경이 다르 면 개발하는데도 다르게 개발해야하기 때문에 되도록 개발할 때부터 서버 환경과 유사하게 만들 면 좋습니다. 1.1 VirtualBox와 Vagrant를 이용해 가상환경 구축하 기 [Figure 2. Virtualization Architecture] 가상화 전체 아키텍처를 도식화한 그림입니다. 지금까지 VirtualBox, Vagrant 등을 설치하기만 했 는데 그런 일련의 작업을 도식화해서 보면 이해하기가 쉽습니다. 하지만 아직 복잡한 것도 사실입 니다. 밑에서 천천히 살펴보겠습니다. 1) Local Computer 여러분이 개발을 하게 될 컴퓨터를 의미합니다. 모든 작업이 이루어지겠지요. 주로 운영체제는 Windows 또는 OS X가 될 것입니다. 2) Vagrant
  • 3.
    가상의 컴퓨터(VirtualMachine, VM)를관리해주는 도구입니다. 가상화할 운영체제를 다운로드, 설치, 제거, 실행, Shutdown 등의 작업을 Vagrant로 할 수 있습니다. Vagrant는 공식사이트에서 무료로 다운로드 받을 수 있습니다. 3) Vagrant를 이용해 운영체제 박스 다운로드 Vagrant를 이용해 운영체제를 다운로드 받을 수 있습니다. 물론 오픈 소스 운영체제를 다운로드 받는 것입니다. 그런데 다운로드 받은 운영체제를 여기서는 Box라고 부릅니다. 여기서 우리는 Ubuntu 운영체제가 설치되어 있는 Laravel Homestead 박스를 다운로드 받을 것입니다. 이 박 스는 운영체제 뿐만 아니라 개발할 때 필요한 각종 소프트웨어를 미리 설치해놓은 Vagrant Box입 니다. + Laravel Homestead에 설치되어 있는 소프트웨어 - Ubuntu 14.04 - PHP 5.6 - HHVM - Nginx - MySQL - Postgres - Node (With Bower, Grunt, and Gulp) - Redis - Memcached - Beanstalkd - LaravelEnvoy - Blackfire Profiler + 다운로드 방법 $ vagrant box add {title} {url} 여기서 우리는 laravel/homestead를 다운받을 것이기 때문에 아래와 같이 실행합니다. $ vagrant box add laravel/homestead https://atlas.hashicorp.com/laravel/boxes/homestead + 그럼 다른 Box는 어디서 구하나요? 다른 Box는 Vagrant 공식 문서에 찾는 방법이 나와있습니다. 공식 문서에 나와있는 링크 주소를 따라가면 Vagrant box를 검색할 수 있는 사이트가 나옵니다. 4) 환경설정 1
  • 4.
    + 초기화 이미 환경설정(공유폴더는 무엇이고, 어떤 IP를 이용하는지 등)을 만들어진게 있습니다. 이를 이 용하여 환경설정을 한 후 vagrant를 이용해 가상 머신을 구동해야 합니다. $ vagrant init {title} 위의 방법대로 해도되지만 우리는 환경 설정 파일을 다운로드 받아 직접 실행하는 방법을 사용해 보겠습니다. $ git clone https://github.com/laravel/homestead.git Homestead 위 명령은 git라는 버전관리 프로그램을 이용해 clone 즉, URL에 나와있는 저장소로부터 Homestead 라는 디렉토리에 복사해 오는 것입니다. 환경설정 파일을 Homestead 라는 디렉토리에 복사해왔기 때문에 당연히 Homestead 로 이동 을 해서 아래 명렁어를 입력합니다. $ bash init.sh 이는 sh파일(shell)을 실행하는 명령어입니다. 이 파일을 실행해 초기화를 시키는 것입니다. + 환경설정
  • 5.
    [Figure 3. ~/.homestead/Homestead.yamlfile에서환경 설정] 이는 Home directory(~/)에 ~/.homestead/Homestead.yaml 파일에 있습니다. 이 파일을 통 해서 위와 같은 항목을 설정할 수 있습니다. 우리는 여기서 IP 주소와 folders(공유폴더) 를 유의하 여 보면 될 것 같습니다. + 가상 머신 구동 방법
  • 6.
    [Figure 4. vagrantup] Homestead 디렉토리에 Vagrantfile , init.sh 파일과 같은 중요한 환경설정 파일이 있습 니다. 위 그림과 같이 이 디렉토리 안에서 vagrant up 이라는 명령어를 통해 vagrant를 구동시 켜야 합니다. Vagrantfile 을 통해 환경설정된 운영체제를 구동하는 것이기 때문에 Vagrantfile 이 있는 곳에서 아래와 같은 명령어로 실행해야합니다. $ vagrant up + 가상 머신에 접속
  • 7.
    환경설정에 지정한 IP주소인 192.168.10.10으로 vagrant라는 아이디를 이용해 접속을 하는데 기존에 미리 등록한 SSH라는 보안키로 접속하는 방식입니다. $ ssh vagrant@192.168.10.10 혹은 Vagrantfile 이 있는 디렉토리 안에서 아래와 같은 명령어로 간단히 접속할 수도 있습니 다. $ vagrant ssh + 접속한 Vagrant box에서 나오기 아래와 같이 입력하면 접속하 Vagrant box에서 나올 수 있습니다. $ exit + 가상 머신 Shutdown $ vagrant halt 어떤가요? 가상머신을 참 쉽게 관리할 수 있겠지유!? 4) VirtualBox VirtualBox는 Oracle에서 만든 가상화 도구입니다. 컴퓨터 안의 또 다른 가상의 컴퓨터를 만들어 주는 기술인 것입니다. 이는 공식사이트에서 다운로드 받을 수 있습니다. 이 VirtualBox를 통해 컴퓨터 안의 또 다른 운영체제가 설치된 가상의 컴퓨터를 만들고 사용할 수 있는 것입니다. 또 다른 소트트웨어로 VMWare 등이 있습니다. Vagrant는 단지 VirtualBox로 만들 어진 가상머신을 관리해주기만 하고 실제 가상화 시키는 기술은 VirtualBox입니다. 2. virtualenv를 이용해 환경 설정하기 이렇게 위에서 가상 머신을 구축하였습니다. 하지만 마지막으로 하나 더 남았습니다. 복잡하죠?
  • 8.
    이것만 하면 됩니다. [Figure5. 가상 환경 구조 - virtualenv 위치] 위 그림처럼 virtualenv는 가상 머신 안에 또 다른 가상 환경입니다. 앞으로 개발을 진행하면서 여러 파이썬 패키지를 설치할 필요가 있습니다. 그런데 여러 파이썬 패 키지를 한 곳에 설치하면 어떤 패키지가 쓰이고 안쓰이는지 구분이 쉽지 않겠지요. 그래서 이를 방 지하기 위해 가상 머신 안에 가상 환경을 둘 수 있습니다. 패키지별 가상 환경이라 생각하시면 될 것 같습니다. 패키지별 가상 환경을 가능하게 해주는 것이 바로 virtualenv입니다. 이는 두 가지 특징이 있습니다. 1. Isolated, 격리된 2. Reproducible, 재구성할 수 있는 독립적이며 격리된 환경을 제공하고 언제든지 패키지를 재구성할 수 있다는 의미입니다. 어려우 면 그냥 한 번 해보죠. 1) pip 설치 먼저 패키지를 설치하고 삭제하는 등의 관리를 해주는 도구가 필요합니다. 바로 pip이라는 것입 니다. pip은 Python Package Manager를 말합니다. 즉, pip을 통해서 Python으로 만들어진 패키 지를 설치하고 삭제하는 등의 관리를 할 수 있습니다. 리눅스, OS X 리눅스, OS X는 이미 pip이 설치되어 있어서 신경쓰지 않아도 됩니다. 그래도 설치법을 알아보겠습니다. 리눅스, OS X인데도 pip이 안되는 분들은 아래와 같이 하면 됩 니다.
  • 9.
    $ wget https://bootstrap.pypa.io/get-pip.py $sudo python get-pip.py 윈도우 윈도우에서는 Python을 설치할 때 pip 포함해서 설치를 하는 옵션이 있는데, 이 옵션으로 설치했 다면 pip설치는 따로 하지 않아도 됩니다. 다만 시스템 변수 path에서 pip 파일이 있는 경로를 지정 해주셔야 합니다. 보통은 아래와 같은 경로에 설치가 됩니다. (Python 2.7 버전인 경우) c:Python27Scripts Python 설치 시 pip 포함해서 설치를 하지 않은 경우에는 따로 설치를 해줘야하는데 어렵지 않습 니다. 이는 인터넷에서 검색해서 해보시길 숙제로 드립니다.^^ pip 사용법 pip은 자주 사용하게 될 것입니다. 그래서 간단히 pip 사용법을 보도록 하겠습니다. + 설치하고 싶은 패키지 검색하기 $ pip search django + pip으로 설치한 패키지 목록보기 $ pip freeze + pip으로 패키지 설치하기 $ sudo pip install 패키지이름 + pip으로 설치한 패키지 삭제하기 $ sudo pip uninstall 패키지이름 + pip으로 설치한 패키지 찾기
  • 10.
    $ pip freeze| grep 'django' + pip으로 설치한 패키지 목록을 텍스트 파일에 저장하기 $ pip freeze > requirements.txt + 패키지 목록이 저장되어 있는 파일을 불러와(import) 설치하기 $ pip install -r requirements.txt 2) virtualenv 설치 [Figure 6. virtualenv를 통한 가상 환경 접속 방법] pip을 이용하여 virtualenv를 설치하면 위와 같이 가상환경을 따로 나누어서 사용할 수 있습니다. 저의 경우에 studybee 라는 프로젝트, py3 프로젝트, taxls 프로젝트로 나눠서 만들었 듯이 보통 은 프로젝트별로 나눠서 만들곤합니다. 1. virtualenv 설치 $ sudo pip install virtualenv 2. 가상환경이 저장될 공간만들기 $ mkdir ~/.virtualenvs
  • 11.
    앞으로 만들 가상환경과 각 가상 환경별 설치할 패키지가 위치하게 될 곳입니다. 3. 경로 지정해주기 ~/ 경로에서 .bashrc 파일에 경로를 지정해줘야합니다. .bashrc 파일은 Shell(터미널)을 열 었을 때마다 실행되는 것이라고 생각하시면 됩니다. 파일에 접근 $ cd ~/ $ vim .bashrc vim은 리눅에서 자주 사용하는 에디터입니다. vi 에디터에서 좀 더 발전된 형태입니다. 간단한 사 용법을 알려드리겠습니다. 편집 모드와 커맨드 모드 두 가지가 있습니다. 편집 모드로 들어가려면 영문자 i 혹은 o를 누르시면 됩니다. 커맨드 모드로 나오려면 ESC 버튼을 누르시면 됩니다. 저장하 려면 커맨드 모드에서 콜론(:)하고 w를 입력하고 저장 후 종료하려면 콜론(:)하고 wq를 입력하시 면 됩니다. 저장하지 않고 빠져나오려면 콜론(:)하고 q 또는 강제종료를 의미하는 q!를 입력하시면 됩니다. 파일에 추가할 내용 export WORKON_HOME=$HOME/.virtualenvs 4. 내용 반영 $ source ~/.bashrc 5. 지정한 경로 확인 echo $WORKON_HOME 4) virtualenvwrapper 설치 virtualenv를 더 편하게 사용할 수 있도록 도와주는 도구입니다. 이것도 pip으로 설치할 수 있습니 다. 1. virtualenvwrapper 설치
  • 12.
    $ sudo pipinstall virtualenvwrapper 2. 설정 사실 위와 같이 설치하는 것만으로도 끝났습니다. 하지만 Shell을 열 때마다 virtualenvwrapper를 실행해야해서 매우 귀찮습니다. 따라서 Shell열 때 마다 실행되는 파일인 .bashrc 에 실행명령어 를 적겠습니다. 파일에 접근 $ cd ~/ $ vim .bashrc 파일에 추가할 내용 source /usr/local/bin/virtualenvwrapper.sh 기기 마다 설치 경로는 다를 수 있지만 보통은 위와 같습니다. 3. 내용 반영 $ source ~/.bashrc 4. 가상 환경 만들기 $ mkvirtualenv 가상환경이름 우리는 studybee 라는 이름으로 만들어보겠습니다. $ mkvirtualenv studybee 5. 가상 환경 제거하기 $ rmvirtualenv 가상환경이름 6. 가상 환경 접속하기
  • 13.
    $ workon 가상환경이름 위에서studybee 라는 이름으로 만든 가상 환경으로 들어가 보겠습니다. $ workon studybee 7. 가상 환경 나오기 $ deactivate 이렇게 해서 가상 머신을 구축하고 가상 환경까지 모두 설정해보았습니다. 이제는 본격적으로 개 발할 수 있도록 아래에서 Python과 Django를 설치해보도록 하겠습니다. 3. Python 설치 1) 설치 Linux와 OS X 사용자라면 기본으로 Python은 설치되어 있습니다. 윈도우에서 사용해보고 싶은 사용자는 아래 문서를 참고하시기 바랍니다. http://bit.ly/1D0F8di 2) 실행 가상환경으로 접속하여 쉘 입력창에서 python 을 입력하고 엔터를 쳐봅니다. 정상적으로 실행 이 되었다면 >>> 처럼 생긴 프롬프트가 보일 것입니다. 이제 Python으로 개발할 수 있는 것입니 다.
  • 14.
    4. Django 설치 1)설치 Django는 패키지이므로 해당 패키지로 사용할 studybee 가상 환경에 접속합니다. $ workon studybee 그리고 아래와 같이 입력하여 django를 설치합니다. (studybee)$ sudo pip install django==1.7 만약 django==1.7 이 아니라 django 만 입력을 했다면 가장 최신 버전이 설치가 됩니다. sudo 는 관리자 권한으로 실행하겠다는 의미입니다. 2) 확인 [Figure 7. Django Version 확인] 가상환경에서 python 을 입력하여 인터프리터로 들어갑니다. 여기에서 아래와 같이 입력해봅니 다. import django django.get_version()
  • 15.
    위 그림처럼 Django버전이 1.7 이 나오면 정상적으로 Django가 설치된 것입니다. 5. Summary 이번 챕터에서는 개발 환경 설정 부분을 살펴보았습니다. 가상 머신을 구축하였고, 가상 환경을 설 정하였습니다. 또한, Python, Django까지 설치를 끝냈습니다. 이제는 개발할 일만 남았습니다. 쉽진 않습니다. 하지만 열심히 하면 고수의 길을 갈 수 있겠지요. 수고하셨습니다. Written with initialkommit@Study-Bee 1. http://xpressengine.github.io/laravel-korean-docs/docs/5.0/homestead/