[컴][파이썬] Flask web application 배포

deploy Flask web application / 배포 방법 / setup / easy_install


distribute tool 을 사용해서 배포하는 방법

ref. 1 에 자세한 이야기가 있다. 여기서는 실질적으로 한 번 만들어 보는 작업을 해 보려 한다.



distribute

distribute 는 python 을 배포할 때 쓰이는 setuptools 이다. 요새는 pip 를 쓰는 쪽으로 넘어가고 있지만 일단 이녀석은 되게 많이 쓰였다.

여하튼 이녀석은 standard module 을 배포하는 것은 지원하지 않는다고 한다.[ref.1] 그래서 우리가 만든 flask web application 은 package 형태로 만들어야 한다. package 로 만드는 방법을 참고하자.

설치

distribute 의 package index 로 가서 보면 이제 이녀석은 다시 Setuptools project 로 돌아갔다고 한다. 원래는 source 를 fork 해서 사용했었던 것 같다.

여하튼 setuptools 나 distribute , 둘 중 하나를 설치하면 될 듯 하다.



setup.py

setup.py 파일은 package 와 같은 level 에 두면 된다.


그리고 setup.py 을 아래처럼 작성하자.

from setuptools import setup setup( name='doogoo', version='1.0', long_description=__doc__, packages=['doogoo'], # packages=find_packages() include_package_data=True, # True : MANIFEST.in is used zip_safe=False, install_requires=['Flask>=0.2', 'flask-restful>=0.3.1', 'Flask-PyMongo>=0.3.0'] )

참고자료: sampleproject/setup.py at master · pypa/sampleproject · GitHub

MANIFEST.in

그리고 package 안에 있는 template 과 static 폴더의 내용들도 같이 copy 하게 하기 위해서는 MANIFEST.in 파일이 필요하다. 아래처럼 작성하면 된다.

MANIFEST.in

recursive-include doogoo/templates *
recursive-include doogoo/static *


Example

이제 그러면 다 됐다. 결과 파일은 아래 링크에 있는 파일을 확인하자.



설치

설치는 아래처럼 setup.py install 을 하면 된다. 이러면

c:\> python setup.py install

이러면 아래 경로에 설치된다.
  • c:\Python27\Lib\site-packages\doogoo-1.0-py2.7.egg\




삭제

install 한 package 의 삭제는 간단하다. 위의 c:\Python27\Lib\site-packages\doogoo-1.0-py2.7.egg\ 폴더를 삭제하면 된다.




References

  1. Deploying with Distribute — Flask Documentation (0.10)



댓글 없음:

댓글 쓰기