파이썬의 패키지 배포는 pypi 사이트를 이용합니다. 개인적으로 만든 패키지를 pypi 사이트에 배포하는 방법을 알아보겠습니다.
준비사항-PIP 패키지 설치
pypi에 패키지를 배포하기 위해서는 다음 3개의 패키지를 설치하는 것이 좋습니다.
pip install wheel # 빌드 툴
pip install setuptools # 패키징 툴
pip install twine # 패키지 업로드 툴
pip install setuptools # 패키징 툴
pip install twine # 패키지 업로드 툴
각 패키지의 상세한 내용은 다음 내용을 참고 바랍니다.
- wheel
- 파이썬 빌드& 패키징 포맷입니다.
- 기존 egg 포맷을 대체하는 포맷입니다.
- wheel vs egg 파이썬 공식 문서[바로가기]
- setuptools
- 파이썬의 기본 라이브러리인 distutils를 개선한 패키지 개발 라이브러리
- setup.py 파일에 관련 내용을 기술하고 패키징에 이용
- https://ko.wikipedia.org/wiki/Setuptools
- twine
- pypi에 패키지를 업로드 하기 위해 사용
- HTTPS를 이용하여 업로드 정보를 암호화
준비사항-PyPI 가입
다음으로 pypi에 가입을 해야 합니다. pypi 사이트에 가서 가입을 진행합니다.
빌드준비-파일 생성
빌드를 위한 프로젝트를 생성한 후 작업을위해 몇가지 파일을 작성해야 합니다.
-
setup.py
- 빌드를 위한 여러가지 설정 정보가 입력
- setup.cfg
- setup.py 실행시에 전달할 옵션 값 모음
- MANIFEST.in
- 빌드에 사용되지 않지만 배포에 추가할 설명서(markdown 파일) 같은 파일을 추가할 때 이용
각 패키지의 설명서를 보는 것도 좋지만, 이미 배포된 패키지의 소스코드에서 정보를 확인하는 것도 좋습니다. 다음은 request와 beautifulsoup의 소스코드 주소 입니다. 여기서 정보를 알아보는 것도 도움이 될 것입니다.
빌드 & 업로드
- 빌드
- python setup.py bdist_wheel
- 업로드
- twine upload dist/XXX.whl
- 자신이 생성한 whl 파일의 경로 입력
반응형
'python' 카테고리의 다른 글
[python] beautifulsoup을 이용하여 웹크롤링(crawling) 하는 샘플 (0) | 2019.02.14 |
---|---|
[사용방법] reStructuredText(rst) 문서 작성방법 (0) | 2019.02.11 |
[python] 셔뱅(Shebang)을 이용하여 파이썬 실행 버전 지정하기 (0) | 2018.08.08 |
[python] 반복적인 입력에는 input() 대신 sys.stdin.readline 로 변경 (0) | 2018.06.18 |
[python] 현재폴더의 파일이름, 파일명 일괄 변경하기 (2) | 2018.04.23 |