오지's blog

파이썬 패키지 빌드하고 PyPi에 올리기 본문

개발노트/Python

파이썬 패키지 빌드하고 PyPi에 올리기

오지구영ojjy90 2021. 10. 16. 16:00
728x90
반응형

 

모든 일이 마찬가지이겠지만 처음에만 해본적이 없어 헷갈리고 해멜수 있으나 한번 해보면 아무것도 아니다.

또한 아래 python document에 잘나와 있기 때문에 그대로 따로오기만 하면 된다. 

이글도 파이썬 다큐멘트를 참고하여 설명을 추가하였다.

참고싸이트

https://packaging.python.org/tutorials/packaging-projects/

 

Packaging Python Projects — Python Packaging User Guide

setup.cfg is the configuration file for setuptools. It tells setuptools about your package (such as the name and version) as well as which code files to include. Eventually much of this configuration may be able to move to pyproject.toml. Open setup.cfg an

packaging.python.org

 

 

1.  사전준비

 

github repository생성 혹은 준비

나중에 setup.py를 작성할때 url과 project_urls 항목을 작성하기 위해 빌드전 미리 만들어 놓거나 github에 올려 놓는다.

 

pypi.org, test.pypi.org 회원가입

빌드하고 pypi 및 test.pypi에 올릴때 아이디와 패스워드 기입 필요

 

 

pip 버전 업그레이드

 

 

2. 빌드할 패키지 준비

필요한 파일들 생성

 

루트 폴더 아래 

- tests폴더 생성

- pyproject.toml 파일 생성하여 아래 내용 기입

[build-system]
requires = [
    "setuptools>=42",
    "wheel"
]
build-backend = "setuptools.build_meta"

- setup.py 파일 작성

 

- 라이센스 파일 아래 내용 넣기

https://packaging.python.org/tutorials/packaging-projects/ 참조

 

Copyright (c) 2018 The Python Packaging Authority

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

 

 

 

이제 빌드할준비 끝! @@

 

3. 빌드

- 빌드시작

 

- 빌드성공한후 메세지

 

4. PyPi에 업로드

 

- test.pypi에 올리기

- pypi에 올리기

Comments