`pip install .` 와 `python3 setup.py install`의 차이?

About_work·2024년 3월 5일
0

python 기초

목록 보기
44/56
  • pip install .python3 setup.py install은 Python 패키지를 설치하는 두 가지 방법
  • pip install .
    • 의존성 관리, 휠 포맷 지원, 가상 환경과의 호환성 측면에서 더 현대적이고 유연한 설치 방법을 제공
    • 패키지 개발자와 사용자 모두에게 권장되는 방법입니다.
  • python3 setup.py install
    • 레거시 프로젝트나 특정 상황에서 여전히 사용될 수 있지만, 가능한 한 pip를 사용하는 것이 좋습니다.
    • pip의 의존성 해결 기능과 휠 지원은 패키지 설치 프로세스를 훨씬 더 쉽고 안정적으로 만들어 줍니다.

1. pip install .

  • 현대적 방법:
    • pip는 Python의 패키지 관리자로, 패키지 설치, 업그레이드, 관리 등을 담당합니다. pip install . 명령은 현재 디렉토리의 패키지를 설치합니다.
  • 의존성 해결:
    • pipsetup.py(setup.cfg) 또는 pyproject.toml에 명시된 패키지의 의존성을 자동으로 해결하고 설치
    • 이는 패키지와 그 의존성들이 서로 호환되는 버전으로 설치되도록 보장
  • 휠 지원
    • 가능하면 휠 포맷(.whl)을 사용하여 패키지를 빌드하고 설치
    • 휠은 설치 속도를 향상시키고, 컴파일이 필요 없는 경우가 많습니다.
  • 가상 환경 친화적
    • pip는 현재 활성화된 Python 가상 환경에 패키지를 설치
    • 이는 시스템 전체 Python 설치를 변경하지 않고 패키지를 안전하게 설치할 수 있게 해줍니다.

python3 setup.py install

  • 전통적 방법:
    • setup.py 스크립트는 setuptools (또는 distutils)를 사용하여 패키지를 빌드하고 설치
    • python3 setup.py install 명령은 직접적으로 이 스크립트를 실행하여 패키지를 설치
  • 의존성 해결 부족:
    • 이 방법은 pip처럼 자동으로 패키지 의존성을 해결하지 않습니다.
    • 패키지가 의존하는 다른 패키지들을 수동으로 미리 설치해야 할 수 있습니다.
  • 휠 사용 불가:
    • 기본적으로 python setup.py install은 소스에서 직접 패키지를 빌드하고 설치
    • 휠 포맷을 생성하거나 사용하지 않습니다.
  • 가상 환경과의 호환성:
    • 이 명령을 사용할 때도 가상 환경에 설치할 수 있지만, pip만큼 가상 환경과의 통합이 자연스럽지는 않습니다.
profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글