SlideShare a Scribd company logo
pip
virtualenv
vagrant
lexifdev
반도에 흔한 평범한 개발자
모든 것은 이 한마디로 부터..
“어? 여기에선 잘 돌았는데..”
왜 이러는 걸까요?
“무언가 다르다… 무언가..”
module이 안깔렸나?
버전이 다른게 깔렸나?
환경변수가 다른가?
이런일 없는 개발환경이 되
려면..
- 재구성 가능한 (Reproducible)
- 격리된 (Isolated)
pip
virtualenv
vagrant
pip
= Python 패키지 관리 시스템
=
Search
Install
Uninstall
install pip
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
search in pip
$ pip search werkzeug
RESTpy - Werkzeug extensions for building…
Werkzeug - The Swiss Army knife of Python web…
kiss.py - MVC web framework in Python…
Flask - A microframework based on Werkzeug…
…
…
install in pip
$ pip install django
Downloading/unpacking django
Downloading Django-1.6.5-py2.py3-none-any.whl (6.7MB)
Installing collected packages: django
Successfully installed django
Cleaning up...
check in pip
$ pip freeze
Django==1.6.5
wsgiref==0.1.2
uninstall in pip
$ pip uninstall django
Uninstalling Django:
…
…
Proceed (y/n)? y
Successfully uninstalled Django
install in pip (specific version)
$ pip install django==1.5
Downloading/unpacking django==1.5
Downloading Django-1.5.tar.gz (8.0MB): 8.0MB downloade
Running setup.py
Successfully installed django
Cleaning up...
check again in pip
$ pip freeze
Django==1.5
wsgiref==0.1.2
export in pip
$ pip freeze > requirements.txt
$ cat requirements.txt
Django==1.5
wsgiref==0.1.2
import in pip
$ pip install -r requirements.txt
Downloading/unpacking django==1.5
Downloading Django-1.5.tar.gz (8.0MB): 8.0MB downloade
Running setup.py
Successfully installed django
Cleaning up...
pip in PyCharm
PyCharm
-> Preference (⌘ + ,)
-> Project Interpreter
Install
Uninstall
Upgrade
pip in PyCharm Editor
alt + ↵
pip 끝
격리된 환경 (Isolated)
프로젝트 두개를 하는데..
하나는 django 1.6기반이고
하나는 django 1.5기반이면..
뭘 깔아야되지…
virtualenv
=Python Virtual Environment
=독립된 파이썬 환경을 구축할 수 있음
install virtualenv
$ sudo pip install virtualenv
create virtualenv
$ virtualenv env
New python executable in env/bin/python
Installing setuptools, pip...done.
$ ls
env
internal virtualenv
$ ls env
bin include lib
$ ls env/bin
activate pip python … …
$ ls env/lib/python2.7
abc.py re.py os.py … …
site.py site-package
activate virtualenv
$ source env/bin/activate
$ which python
./env/bin/python
$ which pip
./env/bin/pip
install package on virtualenv
$ pip install django
Downloading/unpacking django
Downloading Django-1.6.5-py2.py3-none-any.whl (6.7MB)
Installing collected packages: django
Successfully installed django
Cleaning up...
deactivate virtualenv
$ deactivate
$ which python
/usr/bin/python
$ which pip
/usr/local/bin/pip
두개의 virtualenv를 만들고
각각 다른 버전 django 설치하기
$ virtualenv env1
$ activate env1/bin/activate
$ pip install django
$ django-admin.py version
1.6.5
$ deactivate
$ virtualenv env2
$ activate env2/bin/activate
$ pip install django==1.5
$ django-admin.py version
1.5
virtualenv in PyCharm
PyCharm
-> Preference (⌘ + ,)
-> Project Interpreter
기존 Virtualenv를 선택하거나
새 Virtualenv를 만들 수 있음
virtualenv 끝
package수준이 아니라..
DBMS 버전이 다르다면..
php 버전이 다르다면..
VM + vagrant
vagrant = 개발환경 구축용 가상머신 관리 도
우미
install vagrant
$ brew cask install vagrant
# cask 없으면 먼저 cask 설치
$ brew tap caskroom/cask
$ brew install brew-cask
mac용
initial vagrant
$ vagrant init
$ ls
Vagrantfile
Vagrantfile 주요설정
config.vm.box = “hashicorp/precise64”
# https://vagrantcloud.com/discover/
config.vm.network
forwarded_port", guest: 80, host: 8080
config.vm.synced_folder
"./src", "/web"
start vagrant
$ vagrant up
==> default: Booting VM…
==> default: Waiting for machine to boot.
==> default: Machine booted and ready!
vagrant 안으로
$ vagrant ssh
Welcome to Ubuntu 12.04.4 LTS
vagrant@precise64:~$
vagrant in PyCharm
$ Tools
-> Vagrant
vagrant in PyCharm
1. vagrant로 설정
2. Vagrantfile 있는
디렉토리로 설정
3. vagrant 안에 있는
virtualenv 설정 가능
export vagrant
$ vagrant package
$ ls
… package.box …
import vagrant
$ vagrant add box mybox package.box
$ vagrant init mybox
vagrant 끝
One More Thing
Remote Development in PyCharm
Setup ‘Remote Interpreter’
Setup ‘Deployment’
Tools
-> Deployment
-> Configuration
mac용
Sync
Tools
-> Deployment
-> Sync with …
mac용
Run! (control + r)
Auto Upload를 쓸 수도 있어
요..
이 옵션 켜면
파일 저장하는 순간
바로 파일을 올림
전부 끝
질문 있으신분?
sl@lxf.kr
Additional Keywords
autoenv
virtualenvwrapper
docker

More Related Content

PPTX
Python, Development Environment for Windows
PPTX
[세미나] Vagrant 이지원
PPTX
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
ODP
Docker설치
PDF
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
PDF
Python Recipes for django girls seoul
PDF
Virtual Development Environment Setting
PDF
[설치의 정석] EC2에서 워드프레스 설치하기
Python, Development Environment for Windows
[세미나] Vagrant 이지원
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Docker설치
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Recipes for django girls seoul
Virtual Development Environment Setting
[설치의 정석] EC2에서 워드프레스 설치하기

What's hot (19)

PPTX
랩탑으로 tensorflow 도전하기 - tensorflow 설치
PDF
쉽게 쓰여진 Django
PDF
Dockerfile과 Bash
PDF
도커없이 컨테이너 만들기 1편
PDF
[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기
PPTX
Flask! - python web framework flask 튜토리얼
PDF
Ubuntu에서 Flask개발 맛보기 - 1
PDF
코분투메뉴얼 10.04 Cobuntu Manual
PDF
[120316] node.js 프로그래밍 5장
PDF
Do not use Django as like as SMARTSTUDY
PDF
사물인터넷 노트7_사물인터넷과 영상처리
PDF
AWS EC2 flask_uwsgi_nginx install guide korean
PDF
도커 없이 컨테이너 만들기 2편
PDF
Python codelab1
PPTX
파이썬을 만난지 100일♥ 째
PPTX
Ch7,8. Configmaps, Secrets and API
PDF
도커 없이 컨테이너 만들기 3편
PDF
1.intro to k8s
PDF
톰캣 #07-host
랩탑으로 tensorflow 도전하기 - tensorflow 설치
쉽게 쓰여진 Django
Dockerfile과 Bash
도커없이 컨테이너 만들기 1편
[H3 2012] 내컴에선 잘되던데? - vagrant로 서버와 동일한 개발환경 꾸미기
Flask! - python web framework flask 튜토리얼
Ubuntu에서 Flask개발 맛보기 - 1
코분투메뉴얼 10.04 Cobuntu Manual
[120316] node.js 프로그래밍 5장
Do not use Django as like as SMARTSTUDY
사물인터넷 노트7_사물인터넷과 영상처리
AWS EC2 flask_uwsgi_nginx install guide korean
도커 없이 컨테이너 만들기 2편
Python codelab1
파이썬을 만난지 100일♥ 째
Ch7,8. Configmaps, Secrets and API
도커 없이 컨테이너 만들기 3편
1.intro to k8s
톰캣 #07-host
Ad

Similar to pip, virtualenv, vagrant - Python Korea 2014년 6월 세미나 (20)

PDF
내컴에선 잘되던데? Vagrant로 서버와 동일한 개발환경 꾸미기
PDF
보안프로젝트 세미나 Viper-v1.2
PPTX
Python packaging
PPTX
Mininet
PDF
망고100 보드로 놀아보자 17
PDF
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
PDF
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
PDF
Modern PHP
PDF
5. Install - NiFi
PDF
Vim for php
PPTX
라즈베리파이 Iptime 150u a
PDF
라즈베리파이 환경설정
PPTX
파이썬 쪼렙 탈출 1주차
PDF
왜 Spark 와 infinispan 왜 같이 쓰지
PPTX
Deploying Hyperledger Fabric on Kubernetes.pptx
ODP
Django beginning
PDF
안드로이드 와 디바이스 드라이버 적용 기법
PDF
Python을 이용한 Linux Desktop Application
PDF
Posquit0 - Fabric을 이용한 ssh streamlining
PDF
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
내컴에선 잘되던데? Vagrant로 서버와 동일한 개발환경 꾸미기
보안프로젝트 세미나 Viper-v1.2
Python packaging
Mininet
망고100 보드로 놀아보자 17
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Modern PHP
5. Install - NiFi
Vim for php
라즈베리파이 Iptime 150u a
라즈베리파이 환경설정
파이썬 쪼렙 탈출 1주차
왜 Spark 와 infinispan 왜 같이 쓰지
Deploying Hyperledger Fabric on Kubernetes.pptx
Django beginning
안드로이드 와 디바이스 드라이버 적용 기법
Python을 이용한 Linux Desktop Application
Posquit0 - Fabric을 이용한 ssh streamlining
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
Ad

pip, virtualenv, vagrant - Python Korea 2014년 6월 세미나