728x90
setuptools
setuptools는 파이썬에 포함되어 있는 것을 확인했습니다. (따로 설치x)
제가 작성한 파이썬 파일은 다음과 같습니다. 아래 파일을 패키지화 해보겠습니다.
def sayHi() :
print "Hi, velbie! :)"
폴더구조를 아래처럼 만들었습니다. 원래는 helloworld 출력하는 velbie.py 밖에 없었는데 빌드하려니깐 README 파일이 필요하다고 해서 이 공식문서에서 readme를 복붙해 만들었습니다. (링크) 테스트부분은 없앴습니다.
C:.
│ README
│ setup.py
│
└─example_project
velbie.py
__init__.py
setup.py 파일을 복붙해서 이름만 수정했습니다. (packages=부분을 봐주세요)
import os
from setuptools import setup
# Utility function to read the README file.
# Used for the long_description. It's nice, because now 1) we have a top level
# README file and 2) it's easier to type in the README file than to put a raw
# string in below ...
def read(fname):
return open(os.path.join(os.path.dirname(__file__), fname)).read()
setup(
name = "example_project", # 이부분 수정
version = "0.0.4",
author = "Andrew Carter",
author_email = "andrewjcarter@gmail.com",
description = ("An demonstration of how to create, document, and publish "
"to the cheese shop a5 pypi.org."),
license = "BSD",
keywords = "example documentation tutorial",
url = "http://packages.python.org/an_example_pypi_project",
packages=['example_project',], # 이부분 수정
long_description=read('README'),
classifiers=[
"Development Status :: 3 - Alpha",
"Topic :: Utilities",
"License :: OSI Approved :: BSD License",
],
)
빌드
sdist란 명령어로 빌드해보겠습니다. (sdist create a source distribution (tarball, zip file, etc.))
dist란 폴더가 생기고 안에 압축파일이 생깁니다. (저는 tar.gz 파일이 생겼습니다.)
python setup.py sdist
배포
사실 pip에 등록하는것이 아니니, 로컬배포하는거니깐 등록이라고 표현하는게 더 정확한것 같습니다.
압축을 푼 example_project-0.0.4 에 들어가서 setup 파일이 있는곳에 가서 아래 명령어를 입력합니다.
그러면 python 이 설치된곳에 site-packages에 egg 파일이 생깁니다.
python setup.py install
사용
전혀 다른곳에서 파이썬 파일을 만들고 아래와 같이 테스트를 해봅니다.
from example_project import velbie
velbie.sayHi()
출력되는것을 확인할 수 있습니다.😎
728x90