본문 바로가기
728x90

setup.py3

[PYTHON] pyproject.toml이 setup.py와 requirements.txt를 대체하는 3가지 방법과 핵심 차이 해결 파이썬 개발 생태계는 지난 몇 년간 거대한 변화를 맞이했습니다. 과거 requirements.txt와 setup.py에 의존하던 파편화된 설정 방식에서 벗어나, 이제는 PEP 518과 PEP 621을 필두로 한 pyproject.toml 중심의 통합 관리 시대로 접어들었습니다. 본 포스팅에서는 왜 이 변화가 일어났는지, 그리고 실무에서 기존 파일들을 어떻게 성공적으로 대체할 수 있는지 구체적인 해결 방법을 제시합니다.1. 파이썬 설정 파일의 역사와 변화의 필요성기존의 파이썬 프로젝트 관리 방식은 크게 두 가지 문제점을 안고 있었습니다. 첫째, setup.py는 실행 가능한 '파이썬 코드'였기 때문에 빌드 시스템이 설정을 읽기 위해 코드를 실행해야만 했습니다. 이는 보안상 위험할 뿐만 아니라 빌드 속도를 .. 2026. 3. 19.
[PYTHON] setup.py vs pyproject.toml : Python 패키징의 과거와 미래 Python 프로젝트에서 패키징과 배포를 위해 사용되는 핵심 파일은 setup.py와 pyproject.toml이다. 전자는 오랜 시간 동안 사실상의 표준으로 사용되었고, 후자는 PEP 518/517 이후 등장한 새로운 표준이다. 이 두 파일은 서로 다른 생태계를 기반으로 하지만, 궁극적인 목적은 동일하다. 바로 Python 코드를 재사용 가능한 패키지로 구성하고 PyPI 등으로 배포1. Python 패키징의 역사적 흐름setup.py: distutils → setuptools 중심의 전통적 방식pyproject.toml: 표준화된 빌드 메타데이터 및 PEP 기반의 구성 파일이제는 새로운 프로젝트의 대부분이 pyproject.toml을 채택하고 있으며, 특히 Poetry, Flit, Hatch 같은 도구.. 2025. 7. 25.
[PYTHON] 파이썬 패키지 만들기 : 기획부터 PyPI 배포까지 완벽 정복 많은 개발자들이 파이썬으로 유용한 기능을 구현하지만, 이를 재사용 가능한 패키지로 구성하지 못하는 경우가 많다. 단순한 스크립트를 넘어서, 다른 개발자와 공유 가능한 구조화된 파이썬 패키지를 만드는 것은 개발자로서의 역량을 한 단계 끌어올리는 중요한 경험이다. 본 글에서는 실무에서 바로 활용 가능한 Python 패키지를 직접 설계하고, PyPI(Python Package Index)에 배포하는 방법까지 단계별로 안내한다. 오픈소스에 기여하거나 내부 라이브러리를 배포하고 싶은 개발자에게 실질적인 가치를 제공한다.1. Python 패키지란?파이썬에서 패키지는 관련 모듈을 논리적으로 묶은 디렉토리 구조를 의미한다. 외부에서 import mypackage와 같이 호출할 수 있으며, 코드 재사용성과 유지보수성을 .. 2025. 7. 24.
728x90