Python/파이썬 오픈소스 배포

PyPI를 통한 배포 (1)

monstro 2025. 7. 15. 20:55
728x90
반응형

- 개요

파이썬에서 패키지를 배포하기 위해서 사용하는 여러 방법 중에서 PyPI를 사용하는 방법을 알아본다

Python Package Index(PYPI)파이썬을 위한 오픈소스 패키지 저장소로서

PyPI에 배포된 패키지는 pip 명령어를 통해 설치할 수 있다

 

따라서 PYPI를 통해 패키지를 배포하기 위해 필요한 요소들을 알아보고

또 다른 로컬 모듈에서 작성한 클래스(기능)를 import하는 방법도 알아본다

 

1) 다른 로컬 모듈의 클래스를 import하는 방법

from PythonAdvanced_04_02 import GIFGenerator as gfg

# 클래스 생성
g = gfg(inputPath='./project/images/*.png', outputPath='./project/image_out/result.gif', imgSize=(640, 480))

# 실행
g.generate_gif()

 

로컬에서 작성한 다른 모듈의 클래스를 import하는 경우 위와 같이

from 모듈 import 클래스이름

위와 같이 작성하여 클래스를 모듈에 불러올 수 있다

import한 클래스를 통해 인스턴스를 생성하고 함수를 실행할 수 있다

 

2) PyPI를 통해 배포할 패키지의 설정 및 구성

 

PyPI를 통해 배포할 패키지의 파일 구성을 위와 같이 upload_package 폴더 아래에 설정하였다

 

2 - 1) 빨간색 범위

제일 먼저 빨간색 범위의 파일들을 알아본다

  • pygifgenerator_testver 폴더 : pip 명령어로 설치하기 위한 이름의 폴더
  • __init__.py 파일 : 패키지를 정의하기 위해 반드시 필요한 파일
  • gifgenerator.py 파일 : 클래스(기능)가 포함된 모듈의 스크립트, 해당 스크립트의 이름이 곧 패키지의 이름

 

2 - 2) 파란색 범위

다음으로 파란색 범위의 파일들을 알아본다

  • .gitignore : 불필요한 파일들의 레포지터리 배포를 막는 파일
  • LICENSE : 패키지의 라이센스 정의
  • MANIFEST.in : 파이썬과 관련되지 않았지만 설치해야 하는 파일들을 명시
    • 현재 프로젝트에서는 LICENSE, README.md 등이 포함됨
  • README.md : 패키지를 사용하는 사용자를 위한 설명서
  • requirements.txt : 패키지를 설치하는데 필요한 패키지그 버전을 명시
  • setup.cfg : 패키지를 설정하기 위한 정보를 담는 파일
    • 특정 파일을 선택하여 설치과정에서 배제하거나, 반드시 포함시킬 수 있음
  • setup.py : 배포할 패키지를 설정하기 위한 속성을 설정하는 파일
    • 패키지의 이름이나 버전 외에도, 패키지를 동작시키기 위해 필요한 패키지들을 명시

 

 

 

728x90
반응형