SlideShare a Scribd company logo
Ubuntu에서
Flask개발 맛보기 - 1
신부설
latest:2015.04.13
2015.04.11
2015.02.13
ubuntu(개발 환경, 서버 운용)
python(앱 로직 개발 언어)
pip(파이썬 패키지 관리자)
virtualenv(독립된 파이썬 환경 구축자)
sublime text(코드 편집기)
flask(앱 로직을 위한 프레임워크)
Server side 준비물
mysql(데이터 DB)
sqlalchemy(
웹서버 로직과 DB를 연결하는 ORM)
Nginx(웹 서버, 앱서버의 실행환경)
uWSGI(앱 서버)
Client side 준비물
크롬 브라우저의 앱 postman RESTclient
(클라이언트 시뮬레이터)
1. 우분투 환경에 파이썬 개발 환경을 구축할 수 있습니다.
2. Flask 프레임워크를 사용해 앱 로직을 개발할 수 있습니다.
3. Flask와 MySQL을 연동시켜 데이터를 관리할 수 있습니다.
4. Nginx&uWSGI 웹서버를 우분투에 올려 동작시킬 수 있습니다.
5. Flask로 만든 웹앱을 Nginx&uWSGI 웹서버에 배포할 수 있습니다.
이 학습을 통해 배울 수 있는 것
Python이란? (앱 로직 개발 언어)
파이썬은 무료 프로그래밍 언어입니다.
파이썬은 교육용으로 개발되어서 문법이 쉽고 간결합니다.
파이썬의 철학은 "최선의 방법 한 가지를 사용하자"입니다.
파이썬은 다루기 쉽고 필요한 대부분의 기능이 좋은 라이브러리로 제공되
기 때문에 파이썬을 사용하면 생산성이 높아집니다.
Python 설치
파이썬은 우분투에 처음부터 설치되어 있습니다.
PIP란? (파이썬 패키지 관리자)
PIP(Pip installs packages)는 파이썬 패키지 관리자 중 하나입니다.
PIP는 어떤 파이썬 패키지를 설치할 때
설치할 패키지가 의존하는 다른 패키지들도 함께 설치해줍니다.
PIP는 easy_install의 향상된 버전입니다.
앞으로 easy_install은 폐기될 예정이라고 합니다.
따라서 이왕에 PIP를 사용합니다.
PIP 설치
-설치-
$sudo apt-get install python-setuptools
$sudo easy_install pip
-주의-
다음 명령 $sudo apt-get install python-pip으로 한 번 더 설치하면 중복되
어 설치되므로 굳이 이 명령으로 설치하지 않습니다.
virtualenv란? (독립된 파이썬 환경 구축자)
virtualenv는 하나의 컴퓨터에서 여러 개의 독립된 파이썬 환경을
가상으로 구축할 수 있도록 도와주는 도구입니다.
virtualenv 설치
-설치-
$sudo pip install virtualenv
-주의-
다음 명령 $sudo apt-get install python-virtualenv으로 한 번 더 설치하면
중복되어 설치되므로 굳이 이 명령으로 설치하지 않습니다.
-가상으로 환경 구축-
$sudo mkdir /home/bssin #bssin은 유저디렉토리
$sudo cd /home/bssin
$sudo virtualenv venv
$sudo . /home/bssin/venv/bin/activate #가상환경 실행
가상환경 종료는 deactivate
독립된 파이썬 환경을 가상으로 구축
SublimeText란? (코드 편집기)
SublimeText(이하 ST)는 가볍고 빠른 에디터입니다.
코드 힌트, 린트 관련 플러그인을 설치하여 사용할 수 있고,
빌드툴 연동 등의 다양한 기능을 가지고 있어서
파이썬 개발에 유용합니다.
SublimeText 설치
http://www.sublimetext.com/3
SublimeText 설치
내려받은 .deb파일을 실행해서 설치합니다.
개발언어를 python으로 설정
빌드시스템을 독립된 파이썬 환경으로 설정
ST에서 독립된 파이썬 환경을 통해 빌드하려면
새 빌드시스템을 만들어야 합니다.
Tools - Build System - New Build System
열린 파일에서 아래 이미지와 같이 입력하고 파일을 저장합니다.
플러그인 Package Manager 설치
ST의 플러그인 중 하나인 패키지 매니저는
쉽게 패키지 또는 플러그인을 찾고 설치하는 기능을 제공합니다.
플러그인 Package Manager 설치
https://packagecontrol.io/installation#st3
아래 이미지에서 빨간박스 안에
있는 내용을 복사합니다.
서브라임텍스트에서 단축키 Ctrl + ` 를
누르면 콘솔창이 나타납니다.
콘솔창에 복사했던 내용을 붙여넣고 엔
터를 칩니다.
곧바로 패키지 매니저가 설치됩니다.
플러그인 SublimeREPL 설치
SublimeREPL은 인터프리터 언어들에게
대화형 모드를 지원하도록 도와주는 플러그인입니다.
단축키 Ctrl+Shift+P를 누르면 검색창이 나타납니다.
pci를 타이핑하면 Install Package가 찾아집니다.
선택하고 엔터를 치면 새로운 검색창이 나타납니다.
repl을 타이핑하면 SublimeTextREPL이 찾아집니다.
선택하고 엔터를 치면 곧바로 설치됩니다.
플러그인 SublimeREPL 설치
ST에서 독립된 파이썬 환경을 통해 인터프리터를 실행하려면
SublimeREPL의 설정파일을 수정해야 합니다.
Preferences - Package Settings - SublimeTextREPL - Default
열린 파일에서 python_virtualenv_paths속성에
"/home/bssin/venv"를 추가합니다.
Flask란? (앱 로직을 위한 프레임워크)
앱 로직을 파이썬으로 쉽고 편하게 작성할 수 있도록 돕는
파이썬 기반의 마이크로 웹 프레임워크입니다.
마이크로라는 뜻에는 최소한의 기본 기능만 담고 있으면서
추가로 필요한 기능은 라이브러리를 선택해 도입하도록 하겠다는
철학이 담겨있습니다.
Flask 설치
-독립된 파이썬 환경에 설치-
$sudo . /home/bssin/venv/bin/activate #먼저 독립된 가상환경을 실행
(venv)$sudo pip install flask
이 환경에는 Flask와 함께, Flask가 의존하는
벡자이크 WSGI 툴킷 라이브러리와 Jinja2 템플릿 엔진 라이브러리가
함께 설치됩니다.
2에서 계속
참고 서적: 파이썬 웹 프로그래밍
플라스크를 이용한 쉽고 바른 웹개발
주성식, 홍성민. (2014). 위키북스
신부설 c9coco@gmail.com

More Related Content

PDF
AWS EC2 flask_uwsgi_nginx install guide korean
Jinsoo Park
 
PDF
[NEXT] Flask 로 Restful API 서버 만들기
YoungSu Son
 
PDF
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
Booseol Shin
 
PPTX
2015 deploy gate 시작 가이드
Booseol Shin
 
PPTX
Flask! - python web framework flask 튜토리얼
mangonamu
 
PDF
쉽게 쓰여진 Django
Taehoon Kim
 
PDF
Virtual Development Environment Setting
Kwangyoun Jung
 
PPTX
Python, Development Environment for Windows
Kwangyoun Jung
 
AWS EC2 flask_uwsgi_nginx install guide korean
Jinsoo Park
 
[NEXT] Flask 로 Restful API 서버 만들기
YoungSu Son
 
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
Booseol Shin
 
2015 deploy gate 시작 가이드
Booseol Shin
 
Flask! - python web framework flask 튜토리얼
mangonamu
 
쉽게 쓰여진 Django
Taehoon Kim
 
Virtual Development Environment Setting
Kwangyoun Jung
 
Python, Development Environment for Windows
Kwangyoun Jung
 

What's hot (20)

ODP
Django beginning
Woojing Seok
 
PDF
도구를 활용한 더 나은 웹 개발: Yeoman
Jae Sung Park
 
PDF
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
수정 김
 
PPTX
개발자를 위한, WINDOWS 10으로 시작하는 UBUNTU LINUX
Ubuntu Korea Community
 
PPTX
Startup JavaScript 7 - Node.JS 기초
Circulus
 
PDF
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
OnGameServer
 
PPTX
빠른 프로토타이핑을 위한 웹앱 자동화 툴 - YEOMAN
정호 전
 
PPTX
[2015:1] phpdocumentor 설치와 사용법
Amy Kim
 
PDF
Vim for php
Sol Kim
 
PDF
Envoy 를 이용한 코드 배포 자동화
Juwon Kim
 
ODP
Docker설치
Yujin Hwang
 
PPTX
[PHPFest 2013] PHP 성능 향상 방법
phpkorea
 
PDF
Laravel 로 배우는 서버사이드 #1
성일 한
 
PDF
Node.js 첫걸음
SeungHyun Lee
 
PDF
Python server-101
Huey Park
 
PDF
문돌이가 가르치는 서버사이드 PHP
동현 조
 
PDF
[설치의 정석] EC2에서 워드프레스 설치하기
Jay Park
 
PDF
Front-end Development Process - 어디까지 개선할 수 있나
JeongHun Byeon
 
PPSX
Gulp 입문
라한사 아
 
PDF
[설치의 정석] EC2에서 Java-Apache-Tomcat 설치하기
Jay Park
 
Django beginning
Woojing Seok
 
도구를 활용한 더 나은 웹 개발: Yeoman
Jae Sung Park
 
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
수정 김
 
개발자를 위한, WINDOWS 10으로 시작하는 UBUNTU LINUX
Ubuntu Korea Community
 
Startup JavaScript 7 - Node.JS 기초
Circulus
 
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
OnGameServer
 
빠른 프로토타이핑을 위한 웹앱 자동화 툴 - YEOMAN
정호 전
 
[2015:1] phpdocumentor 설치와 사용법
Amy Kim
 
Vim for php
Sol Kim
 
Envoy 를 이용한 코드 배포 자동화
Juwon Kim
 
Docker설치
Yujin Hwang
 
[PHPFest 2013] PHP 성능 향상 방법
phpkorea
 
Laravel 로 배우는 서버사이드 #1
성일 한
 
Node.js 첫걸음
SeungHyun Lee
 
Python server-101
Huey Park
 
문돌이가 가르치는 서버사이드 PHP
동현 조
 
[설치의 정석] EC2에서 워드프레스 설치하기
Jay Park
 
Front-end Development Process - 어디까지 개선할 수 있나
JeongHun Byeon
 
Gulp 입문
라한사 아
 
[설치의 정석] EC2에서 Java-Apache-Tomcat 설치하기
Jay Park
 
Ad

Viewers also liked (6)

PDF
캡셔네이터 사용자 가이드
Booseol Shin
 
PDF
03.GitHub으로 웹페이지
Booseol Shin
 
PDF
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
성일 한
 
PDF
Python과 flask 입문(1)
성천 이
 
PDF
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)
성일 한
 
PDF
파이썬 플라스크로 배우는 웹프로그래밍 #2 (ABCD)
성일 한
 
캡셔네이터 사용자 가이드
Booseol Shin
 
03.GitHub으로 웹페이지
Booseol Shin
 
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
성일 한
 
Python과 flask 입문(1)
성천 이
 
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)
성일 한
 
파이썬 플라스크로 배우는 웹프로그래밍 #2 (ABCD)
성일 한
 
Ad

Similar to Ubuntu에서 Flask개발 맛보기 - 1 (20)

PDF
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Joongi Kim
 
PDF
Python & Django Framework - UV를 이용한 Python 개발 환경
Hoyong Lee
 
PDF
JetsonTX2 Python
taeseon ryu
 
PDF
파이썬 소개
SeongHyun Ahn
 
PPTX
Python study 1강 (오픈소스컨설팅 내부 강의)
정명훈 Jerry Jeong
 
PPTX
Python packaging
Ji Hun Kim
 
PDF
파이썬을 배워야하는 이유 발표자료 - 김연수
Yeon Soo Kim
 
PDF
파이썬 생존 안내서 (자막)
Heungsub Lee
 
PPTX
땅울림 파이썬 스터디 intro
건희 김
 
PDF
Sublime Text 3 for python and django
raccoony
 
PDF
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
성일 한
 
PDF
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Dongil Yeom
 
PDF
200720 바이오협회 생물정보학 파이썬 강의
Joohyun Han
 
PDF
Python Packaging & Debian Packaging
경섭 심
 
PDF
20170813 django api server unit test and remote debugging
Jongwon Han
 
PDF
파이썬 튜토리얼 (Python tutorial)
민지 김
 
PDF
파이썬 소개
fermat39
 
PDF
Deploying flask with nginx & uWSGI
정주 김
 
PDF
[17.01.19] docker introduction (Korean Version)
Ildoo Kim
 
PPTX
Github? linux? 이건 뭐지?
Suho Lee
 
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Joongi Kim
 
Python & Django Framework - UV를 이용한 Python 개발 환경
Hoyong Lee
 
JetsonTX2 Python
taeseon ryu
 
파이썬 소개
SeongHyun Ahn
 
Python study 1강 (오픈소스컨설팅 내부 강의)
정명훈 Jerry Jeong
 
Python packaging
Ji Hun Kim
 
파이썬을 배워야하는 이유 발표자료 - 김연수
Yeon Soo Kim
 
파이썬 생존 안내서 (자막)
Heungsub Lee
 
땅울림 파이썬 스터디 intro
건희 김
 
Sublime Text 3 for python and django
raccoony
 
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
성일 한
 
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Dongil Yeom
 
200720 바이오협회 생물정보학 파이썬 강의
Joohyun Han
 
Python Packaging & Debian Packaging
경섭 심
 
20170813 django api server unit test and remote debugging
Jongwon Han
 
파이썬 튜토리얼 (Python tutorial)
민지 김
 
파이썬 소개
fermat39
 
Deploying flask with nginx & uWSGI
정주 김
 
[17.01.19] docker introduction (Korean Version)
Ildoo Kim
 
Github? linux? 이건 뭐지?
Suho Lee
 

More from Booseol Shin (8)

PPTX
2017-07-10 브릿지 패턴
Booseol Shin
 
PDF
파이썬2.7 기초 공부한 것 정리
Booseol Shin
 
PDF
HTML&CSS 태그, 속성, 셀렉터
Booseol Shin
 
PDF
안드로이드 머터리얼 디자인 기반의 앱 레이아웃 가이드 (2)
Booseol Shin
 
PDF
안드로이드 머터리얼 디자인 기반의 앱 레이아웃 가이드 (1)
Booseol Shin
 
PDF
초보 블로그 쇼핑몰 만들기
Booseol Shin
 
PDF
머터리얼 디자인 문서 개인적인 번역
Booseol Shin
 
PDF
안드로이드에서 플러리를 쉽게 사용하기
Booseol Shin
 
2017-07-10 브릿지 패턴
Booseol Shin
 
파이썬2.7 기초 공부한 것 정리
Booseol Shin
 
HTML&CSS 태그, 속성, 셀렉터
Booseol Shin
 
안드로이드 머터리얼 디자인 기반의 앱 레이아웃 가이드 (2)
Booseol Shin
 
안드로이드 머터리얼 디자인 기반의 앱 레이아웃 가이드 (1)
Booseol Shin
 
초보 블로그 쇼핑몰 만들기
Booseol Shin
 
머터리얼 디자인 문서 개인적인 번역
Booseol Shin
 
안드로이드에서 플러리를 쉽게 사용하기
Booseol Shin
 

Ubuntu에서 Flask개발 맛보기 - 1

  • 1. Ubuntu에서 Flask개발 맛보기 - 1 신부설 latest:2015.04.13 2015.04.11 2015.02.13
  • 2. ubuntu(개발 환경, 서버 운용) python(앱 로직 개발 언어) pip(파이썬 패키지 관리자) virtualenv(독립된 파이썬 환경 구축자) sublime text(코드 편집기) flask(앱 로직을 위한 프레임워크) Server side 준비물 mysql(데이터 DB) sqlalchemy( 웹서버 로직과 DB를 연결하는 ORM) Nginx(웹 서버, 앱서버의 실행환경) uWSGI(앱 서버)
  • 3. Client side 준비물 크롬 브라우저의 앱 postman RESTclient (클라이언트 시뮬레이터)
  • 4. 1. 우분투 환경에 파이썬 개발 환경을 구축할 수 있습니다. 2. Flask 프레임워크를 사용해 앱 로직을 개발할 수 있습니다. 3. Flask와 MySQL을 연동시켜 데이터를 관리할 수 있습니다. 4. Nginx&uWSGI 웹서버를 우분투에 올려 동작시킬 수 있습니다. 5. Flask로 만든 웹앱을 Nginx&uWSGI 웹서버에 배포할 수 있습니다. 이 학습을 통해 배울 수 있는 것
  • 5. Python이란? (앱 로직 개발 언어) 파이썬은 무료 프로그래밍 언어입니다. 파이썬은 교육용으로 개발되어서 문법이 쉽고 간결합니다. 파이썬의 철학은 "최선의 방법 한 가지를 사용하자"입니다. 파이썬은 다루기 쉽고 필요한 대부분의 기능이 좋은 라이브러리로 제공되 기 때문에 파이썬을 사용하면 생산성이 높아집니다.
  • 6. Python 설치 파이썬은 우분투에 처음부터 설치되어 있습니다.
  • 7. PIP란? (파이썬 패키지 관리자) PIP(Pip installs packages)는 파이썬 패키지 관리자 중 하나입니다. PIP는 어떤 파이썬 패키지를 설치할 때 설치할 패키지가 의존하는 다른 패키지들도 함께 설치해줍니다. PIP는 easy_install의 향상된 버전입니다. 앞으로 easy_install은 폐기될 예정이라고 합니다. 따라서 이왕에 PIP를 사용합니다.
  • 8. PIP 설치 -설치- $sudo apt-get install python-setuptools $sudo easy_install pip -주의- 다음 명령 $sudo apt-get install python-pip으로 한 번 더 설치하면 중복되 어 설치되므로 굳이 이 명령으로 설치하지 않습니다.
  • 9. virtualenv란? (독립된 파이썬 환경 구축자) virtualenv는 하나의 컴퓨터에서 여러 개의 독립된 파이썬 환경을 가상으로 구축할 수 있도록 도와주는 도구입니다.
  • 10. virtualenv 설치 -설치- $sudo pip install virtualenv -주의- 다음 명령 $sudo apt-get install python-virtualenv으로 한 번 더 설치하면 중복되어 설치되므로 굳이 이 명령으로 설치하지 않습니다.
  • 11. -가상으로 환경 구축- $sudo mkdir /home/bssin #bssin은 유저디렉토리 $sudo cd /home/bssin $sudo virtualenv venv $sudo . /home/bssin/venv/bin/activate #가상환경 실행 가상환경 종료는 deactivate 독립된 파이썬 환경을 가상으로 구축
  • 12. SublimeText란? (코드 편집기) SublimeText(이하 ST)는 가볍고 빠른 에디터입니다. 코드 힌트, 린트 관련 플러그인을 설치하여 사용할 수 있고, 빌드툴 연동 등의 다양한 기능을 가지고 있어서 파이썬 개발에 유용합니다.
  • 14. SublimeText 설치 내려받은 .deb파일을 실행해서 설치합니다.
  • 16. 빌드시스템을 독립된 파이썬 환경으로 설정 ST에서 독립된 파이썬 환경을 통해 빌드하려면 새 빌드시스템을 만들어야 합니다. Tools - Build System - New Build System 열린 파일에서 아래 이미지와 같이 입력하고 파일을 저장합니다.
  • 17. 플러그인 Package Manager 설치 ST의 플러그인 중 하나인 패키지 매니저는 쉽게 패키지 또는 플러그인을 찾고 설치하는 기능을 제공합니다.
  • 18. 플러그인 Package Manager 설치 https://packagecontrol.io/installation#st3 아래 이미지에서 빨간박스 안에 있는 내용을 복사합니다. 서브라임텍스트에서 단축키 Ctrl + ` 를 누르면 콘솔창이 나타납니다. 콘솔창에 복사했던 내용을 붙여넣고 엔 터를 칩니다. 곧바로 패키지 매니저가 설치됩니다.
  • 19. 플러그인 SublimeREPL 설치 SublimeREPL은 인터프리터 언어들에게 대화형 모드를 지원하도록 도와주는 플러그인입니다. 단축키 Ctrl+Shift+P를 누르면 검색창이 나타납니다. pci를 타이핑하면 Install Package가 찾아집니다. 선택하고 엔터를 치면 새로운 검색창이 나타납니다. repl을 타이핑하면 SublimeTextREPL이 찾아집니다. 선택하고 엔터를 치면 곧바로 설치됩니다.
  • 20. 플러그인 SublimeREPL 설치 ST에서 독립된 파이썬 환경을 통해 인터프리터를 실행하려면 SublimeREPL의 설정파일을 수정해야 합니다. Preferences - Package Settings - SublimeTextREPL - Default 열린 파일에서 python_virtualenv_paths속성에 "/home/bssin/venv"를 추가합니다.
  • 21. Flask란? (앱 로직을 위한 프레임워크) 앱 로직을 파이썬으로 쉽고 편하게 작성할 수 있도록 돕는 파이썬 기반의 마이크로 웹 프레임워크입니다. 마이크로라는 뜻에는 최소한의 기본 기능만 담고 있으면서 추가로 필요한 기능은 라이브러리를 선택해 도입하도록 하겠다는 철학이 담겨있습니다.
  • 22. Flask 설치 -독립된 파이썬 환경에 설치- $sudo . /home/bssin/venv/bin/activate #먼저 독립된 가상환경을 실행 (venv)$sudo pip install flask 이 환경에는 Flask와 함께, Flask가 의존하는 벡자이크 WSGI 툴킷 라이브러리와 Jinja2 템플릿 엔진 라이브러리가 함께 설치됩니다.
  • 23. 2에서 계속 참고 서적: 파이썬 웹 프로그래밍 플라스크를 이용한 쉽고 바른 웹개발 주성식, 홍성민. (2014). 위키북스 신부설 [email protected]