Study/Python

[Python] 자주 사용하는 함수 pip로 설치해 쓰기(setup.py)

Super-Son 2025. 5. 19. 23:46

파이썬으로 여러 프로젝트를 하다 보면 자주 사용하는 함수들이 생깁니다. 저는 보통 utils.py 같은 파일에 복붙해서 쓰곤 했는데요, 문득 "이걸 pip로 설치해서 쓰면 어떨까?" 하는 생각이 들었습니다. 찾아보니 정말 가능하더라구요. setup.py 하나면 됩니다.


setup.py로 패키지 만들기

1. 패키지 폴더 만들기

먼저 자주 사용하는 함수를 하나의 폴더에 정리합니다. 예를 들어 myutils 폴더를 만들고 그 안에 __init__.py와 functions.py를 넣습니다.

myutils/
├── __init__.py
└── functions.py  # 자주 쓰는 함수들

 

2. setup.py 작성하기

최상위 디렉토리에 setup.py 파일을 생성합니다. 예시는 아래와 같습니다.

# setup.py
from setuptools import setup, find_packages

setup(
    name='myutils',           # 패키지 이름
    version='0.1',            # 버전 정보
    packages=find_packages(), # 포함할 하위 패키지 자동 탐색
    install_requires=[],      # 의존 패키지 (필요 없으면 빈 리스트)
)

📄 setup 주요 파라메터

  • name: 패키지 이름입니다. pip install로 설치할 때 식별자 역할을 합니다.
  • version: 버전 번호로, 나중에 PyPI에 배포하거나 업그레이드할 때 사용됩니다.
  • packages: 설치에 포함할 패키지를 지정합니다. find_packages()를 쓰면 자동으로 폴더를 인식합니다.
  • install_requires: 패키지가 의존하는 외부 패키지 목록입니다. 예: ['pandas', 'numpy']

 

3. GitHub에 올리고 pip로 설치하기

GitHub에 이 폴더 전체를 올리고, 아래처럼 설치하면 바로 사용할 수 있습니다.

pip install git+https://github.com/your-id/myutils.git

 

4. import해서 사용하기

설치 후에는 아래처럼 import해서 바로 사용할 수 있습니다.

from myutils.functions import your_function

 


 

pip install로 내가 만든 유틸 함수들을 관리할 수 있다니 꽤 신세계였습니다. 매번 복붙하지 않아도 되고, 수정이 생기면 리포만 업데이트하면 되니까요. 다음에는 이렇게 만든 패키지를 PyPI에 배포해보려고 하는데, 배포가 잘 되면 그것도 간단하게 정리해보겠습니다.