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\
댓글 없음:
댓글 쓰기