포스트

파이썬 setup.py 이해하기

setup.py 란 무엇인가?

setup.py는 파이썬 프로젝트를 빌드, 패키징, 배포하는 과정을 자동화하기 위한 스크립트 파일입니다. 이 파일은 프로젝트의 메타데이터와 종속성(dependencies) 정보를 담고 있어, pip 같은 패키지 관리자가 이를 이해하고 처리할 수 있습니다.

setup.py의 구조와 작동 원리

setup.py 파일은 주로 setuptools 라이브러리를 사용하여 작성됩니다. 기본 구조는 아래와 같습니다.

1
2
3
4
5
6
7
8
9
from setuptools import setup, find_packages

setup(
    name='프로젝트 이름',
    version='버전 정보',
    packages=find_packages(),
    install_requires=['필요한 패키지 목록'],
    ...
)
  1. name: 패키지의 이름을 지정합니다.
  2. version: 패키지의 버전을 지정합니다.
  3. packages: 패키지 내의 모듈과 서브 패키지를 지정합니다.
  4. install_requires: 패키지 사용을 위해 필요한 다른 패키지를 지정합니다.

python setup.py install 명령을 통해 프로젝트를 설치할 수 있고, python setup.py sdist 명령을 통해 소스 배포 패키지를 생성할 수 있습니다.

setup.py와 pip의 관계

pipsetup.py 파일을 읽어 패키지를 설치하거나 업그레이드합니다. 예를 들어, pip install . 명령을 실행하면 현재 디렉토리의 setup.py를 이용하여 패키지를 설치합니다. 이 과정을 통해 필요한 종속성도 함께 설치됩니다.

왜 setup.py가 필요한가?

  1. 표준화: setup.py를 사용하면 파이썬 패키지의 설치 과정이 표준화됩니다.
  2. 종속성 관리: 필요한 패키지를 자동으로 설치해줍니다.
  3. 배포 용이성: PyPI 같은 패키지 저장소에 쉽게 업로드할 수 있습니다.

setup.py는 파이썬 개발자에게 배포와 종속성 관리를 간편하게 해주는 중요한 도구입니다. 이를 이해하고 활용하면 파이썬 프로젝트를 더 효과적으로 관리할 수 있습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.