- distutils : 초기 파이썬 패키징, 빌드를 할 수 있는 패키지, 1998년
- setup.py 라는 패키지 메타 데이터 담은 파이썬 스크립트를 사용하는 방식
- ex :
- python setup.py sdist: 패키지 소스코드 압축
- python setup.py bdist: 패키지 바이너리 배포판 생성
- python setup.py install: 패키지 설치
- PyPI (Python Packaging Index) : 필요한 파이썬 패키지를 쉽게 찾기 위한 패키지 저장소, 2003년
- setuptools : 새로운 빌드 시스템과 패키지 설치 도구, 2004년
- distutils 는 패키지 간 의존성 처리, PyPI 에서 직접 패키지 다운로드 기능이 없음
- 문법을 확장하고, 패키지 의존성 및 파이썬 버전 지정, 어플리케이션 엔트리 포인트 설정 기능 추가
- easy_install 이라는 도구를 함께 제공하여, 패키지 의존성을 포함하여 설치하는 기능을 지원
(빌드 / 업로드는 setuptools, 다운로드 / 설치는 easy_install 이 수행) - egg 라는 바이너리 포맷으로 된 패키지 설치 방식을 지원 (pip 에서는 egg 사용 X)
- pip (핍) : 개선된 패키지 설치 도구 (2008년)
- easy_install 은 패키지 삭제, 목록 뷰 등 기능이 없어서 패키지 관리 도구로 불편
- pip 은 패키지 관리 도구 기능을 강화하고, git repo. 에 파이썬 패키지를 바로 설치 할 수 있게 부가 기능 함께 제공
- 파이썬 3.4 부터 디폴트 패키지 인스톨러가 됨
- wheel : 원래 pip 은 패키지 설치 시에 파이썬 소스 코드를 직접 빌드하는 설치 방식만 제공 했었으나, C-extension 을 사용하는 패키지의 경우 빌드 할 때 필요한 컴파일러가 없으면 패키지를 설치 할 수 없는 문제가 있어, 2013년부터 미리 플랫폼에 맞추어 빌드된 바이너리 포맷 패키지를 설치하는 방식이 wheel 이며, zip 파일 형태의 바이너리 패키지 포맷임.
- 모던 파이썬 패키징 도구
- poetry : 2018년 시작, 파이썬 패키지 패키징(setuptools), 업로드(twine), 설치 (pip) 하는 모든 과정을 처리 할 수 있는 도구를 지향.
- flit : 순수하게 파이썬을 사용한 패키지를 PyPI 에 업로드 하는 과정을 단순화 하는 것이 목표. C-extension 과 같은 부가 기능을 사용하지 않는 파이썬 패키지의 경우 업로드 과정의 복잡한 설정이 필요하지 않다는 점에서 착안해 패키지 업로드 과정을 단순화 하는 것을 지향하는 프로젝트
- 파이썬 라이브러리 로컬 설치 방법
https://kingname.tistory.com/210
파이썬 라이브러리 로컬 설치 방법은 아래 3가지
- .whl 파일을 pip 로 설치 (python -m pip install *.whl)
- egg 파일을 setuptools 로 설치 (구버전)
- python setup.py install 로 설치
pip 로 관리되지 않고 깃허브 등으로 배포되거나, dev 버전으로 이용하고자하는 라이브러리는 수동으로 설치해야 되는데, 일반적으로 setup.py 파일을 제공한다. 패키지를 다운로드 한 후, 최상위 디렉토리로 이동하여 install 명령 실행하면 된다.
ex : sudo python setup.py install
'프로그래밍 (이동 완료) > Python' 카테고리의 다른 글
파이썬 build CLI Tool with poetry (0) | 2023.08.03 |
---|---|
좋은 패키지 고르는 방법 (0) | 2023.07.30 |
파이썬 모듈 배포 (0) | 2023.07.27 |
파이썬 CLI - Typer (0) | 2023.07.27 |
파이썬 - import가 module과 package 를 찾아가는 경로 (0) | 2023.07.26 |