2015년 8월 24일 월요일

파이톤 패키지를 PyPI에 배포하는 방법

파이톤 패키지를 PyPI(Python Package Index)에 배포하는 방법을 소개 합니다.

참고 :
* https://docs.python.org/3.4/distutils/
* https://docs.python.org/3.4/distutils/setupscript.html
* https://docs.python.org/3.4/distutils/packageindex.html

다음과 같은 절차로 진행 합니다.
  1. PyPI에 계정을 생성
  2. setup.py 파일을 생성
  3. PyPI에 패키지를 업로드

간단한 예제를 바탕으로 설명합니다.

예제 폴더 구조
$ tree
.
├── data_rider
│   └── __init__.py
└── setup.py

테스트를 위한 패키지 코드
$ cat data_rider/__init__.py
print ('Hello {name}.'.format(name='세상'))

패키지 배포를 위한 코드
$ cat setup.py
from distutils.core import setup
setup(name='data-rider',
      version='1',
      description='Sources for riding on data.',
      author='Mark',
      author_email='juhoon.kim@me.com',
      url='http://data-rider.blogspot.kr',
      packages=['data_rider'],
     )

1. PyPI에 계정 생성

$ python setup.py register CLI 명령
또는
https://pypi.python.org/pypi 웹 페이지에서 가입 합니다.

로그인 정보는 계정 홈 디렉토리에 .pypirc 파일에 등록해서 사용하면 편합니다.
$ cat ~/.pypirc 
[server-login]
username:<username>
password:<password>

2. setup.py 파일 생성

name은 다운로드 및 관리 이름이고, 설치 후에는 packages 이름을 코드에서 사용하게 됩니다.

3. PyPI에 패키지 업로드

$ python setup.py sdist register upload 명령을 통해서 배포합니다.
sdist는 source 배포를 하겠다는 것이고, bdist를 통해서 binary 배포 가능합니다.
.pypirc에 등록하면 따로 register 명령 없이 가능합니다.

* 공유 영역에 배포됨으로 배포 이름은 유일(unique)하게 지어서 사용해야 합니다.

위 과정이 잘 끝났다면 다음과 같이 사용할 수 있습니다.
$ pip install data-rider
$ python -c "import data_rider"
Hello 세상.

0 개의 댓글:

댓글 쓰기