Python 패키지를 생성하고 게시하는 방법

Python 패키지를 만들고 게시하면 더 광범위한 Python 커뮤니티와 코드를 공유할 수 있습니다. 이 가이드에서는 Python 패키지를 만들고 Python Package Index(PyPI)에 게시하는 단계를 살펴보겠습니다. 다른 사람들이 쉽게 설치하고 사용할 수 있습니다.

프로젝트 설정

시작하기 전에 시스템에 Python이 설치되어 있는지 확인하세요. 아직 설치하지 않았다면 setuptoolswheel 패키지도 설치해야 합니다.

pip install setuptools wheel

패키지 구조 생성

패키지 프로젝트를 위한 새 디렉토리를 만듭니다. 이 디렉토리 안에 다음 구조를 만듭니다.

your_package/
    your_package/
        __init__.py
        module1.py
        module2.py
    tests/
        __init__.py
        test_module1.py
    setup.py
    README.md
    LICENSE

다음은 이러한 파일에 대한 간략한 개요입니다.

  • your_package/__init__.py: 디렉토리를 Python 패키지로 표시합니다.
  • your_package/module1.pyyour_package/module2.py: 패키지 모듈.
  • tests/: 패키지의 테스트 케이스를 위한 디렉토리입니다.
  • setup.py: 패키지의 빌드 스크립트입니다.
  • README.md: 패키지의 기능을 설명하는 파일입니다.
  • LICENSE: 패키지의 라이센스 파일입니다.

설치 스크립트 작성

setup.py 파일은 패키지의 메타데이터와 종속성을 정의하는 데 필수적입니다. 다음은 기본적인 예입니다.

from setuptools import setup, find_packages

setup(
    name='your_package',
    version='0.1.0',
    packages=find_packages(),
    install_requires=[
        # List your package dependencies here
    ],
    description='A brief description of your package',
    long_description=open('README.md').read(),
    long_description_content_type='text/markdown',
    url='https://github.com/yourusername/your_package',
    author='Your Name',
    author_email='your.email@example.com',
    license='MIT',
)

README 파일 만들기

README.md 파일은 패키지에 대한 개요를 제공해야 하며, 여기에는 설치 및 사용 방법도 포함됩니다. 다음은 그 예입니다.

# Your Package

A brief description of your package.

설치

pip install your_package

용법

import your_package

# Example usage

패키지 구축

프로젝트 디렉토리로 이동한 후 다음 명령을 실행하여 패키지를 빌드합니다.

python setup.py sdist bdist_wheel

이 명령은 dist/ 디렉토리에 배포 아카이브를 생성합니다.

PyPI에 게시

패키지를 게시하려면 PyPI에 계정이 필요합니다. 계정이 없으면 PyPI에서 만드세요.

다음으로 twine 패키지를 설치합니다.

pip install twine

twine를 사용하여 패키지를 PyPI에 업로드하세요.

twine upload dist/*

PyPI 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다. 업로드가 성공적으로 완료되면 패키지가 PyPI에서 사용 가능해집니다.

결론

축하합니다! 이제 Python 패키지를 만들고 게시했습니다. 다른 사람들은 pip을 사용하여 설치할 수 있으며, 계속해서 업데이트하고 개선할 수 있습니다. 변경 사항을 적용하면서 버전 번호를 업데이트하고 새 릴리스를 업로드하여 패키지를 유지 관리하는 것을 잊지 마세요.