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

Preview:

DESCRIPTION

 

Citation preview

pipvirtualenvvagrant

lexifdev반도에 흔한 평범한 개발자

모든 것은 이 한마디로 부터 ..

“ 어 ? 여기에선 잘 돌았는데 ..”

왜 이러는 걸까요 ?“ 무언가 다르다… 무언가 ..”

module 이 안깔렸나 ? 버전이 다른게 깔렸나 ? 환경변수가 다른가 ?

이런일 없는 개발환경이 되려면 ..

- 재구성 가능한 (Reproducible)

- 격리된 (Isolated)

pipvirtualenvvagrant

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): 6.7MB downloadedInstalling collected packages: djangoSuccessfully installed djangoCleaning up...

check in pip$ pip freezeDjango==1.6.5wsgiref==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.5Downloading/unpacking django==1.5 Downloading Django-1.5.tar.gz (8.0MB): 8.0MB downloadedRunning setup.pySuccessfully installed djangoCleaning up...

check again in pip$ pip freezeDjango==1.5wsgiref==0.1.2

export in pip$ pip freeze > requirements.txt$ cat requirements.txt

Django==1.5wsgiref==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 downloadedRunning setup.pySuccessfully installed djangoCleaning up...

pip in PyCharmPyCharm-> 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 envNew python executable in env/bin/pythonInstalling setuptools, pip...done.$ lsenv

internal virtualenv$ ls envbin include lib$ ls env/binactivate pip python … …$ ls env/lib/python2.7abc.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): 6.7MB downloadedInstalling collected packages: djangoSuccessfully installed djangoCleaning 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 version1.6.5$ deactivate$ virtualenv env2$ activate env2/bin/activate$ pip install django==1.5$ django-admin.py version1.5

virtualenv in PyCharm

PyCharm-> Preference (⌘ + ,)-> Project Interpreter

기존 Virtualenv 를 선택하거나새 Virtualenv 를 만들 수 있음

virtualenv 끝

package 수준이 아니라 ..DBMS 버전이 다르다면 ..php 버전이 다르다면 ..

VM + vagrantvagrant = 개발환경 구축용 가상머신 관리 도우미

install vagrant$ brew cask install vagrant

# cask 없으면 먼저 cask 설치$ brew tap caskroom/cask$ brew install brew-cask

mac 용

initial vagrant$ vagrant init$ lsVagrantfile

Vagrantfile 주요설정config.vm.box = “hashicorp/precise64”# https://vagrantcloud.com/discover/config.vm.network forwarded_port", guest: 80, host: 8080config.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 sshWelcome to Ubuntu 12.04.4 LTS

vagrant@precise64:~$

vagrant in PyCharm$ Tools-> Vagrant

vagrant in PyCharm1. 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 용

SyncTools-> Deployment-> Sync with …

mac 용

Run! (control + r)

Auto Upload 를 쓸 수도 있어요 ..

이 옵션 켜면파일 저장하는 순간

바로 파일을 올림

전부 끝

질문 있으신분 ?

sl@lxf.kr

Additional Keywordsautoenvvirtualenvwrapperdocker