2013-03-30 2 views
43

외부 패키지가 있습니다. python virtualenv에 tar 파일로 설치하고 싶습니다. 패키지를 설치하는 가장 좋은 방법은 무엇입니까?'python setup.py install'과 'pip install'의 차이점

나는 그것을 할 수있는 두 가지 방법을 발견했다 : 1) 압축을 푼 디렉토리 안의 'python setup.py install'을 실행하여 tar 파일을 추출한다. 2) 예제 # 7의 'pip install packagename.tar.gz'를 https://pip.pypa.io/en/stable/reference/pip_install/#examples

두 가지 방법으로 차이가 있는지 확인하십시오.

+2

'pip'를 사용하십시오. 패키지로 패키지를 제거 할 수 있습니다. – Blender

+0

"VCS 체크 아웃"또는 "sdist"에서와 같이 "원본에서"? – delnan

+0

"최고"란 귀하의 요구 사항에 따라 다릅니다. 이 솔루션 중 하나를 시도해 보았고 어떤 방법으로도 부족하지 않았습니까? 아니면 이러한 접근 방식간에 차이점이 무엇인지 묻고 있습니까? –

답변

48

표면적으로 둘 다 똑같은 일을합니다. python setup.py install 또는 pip install <PACKAGE-NAME> 중 하나를 수행하면 Python 패키지가 최소의 금액으로 설치됩니다.

그러나 pip를 사용하면 몇 가지 추가 이점이있어서 사용하기가 훨씬 편리합니다.

  • pip는 자동으로 패키지의 모든 종속성을 다운로드합니다. 이와 대조적으로 setup.py을 사용하는 경우 수동으로 검색하여 종속성을 다운로드해야하므로 지루하고 실망 스러울 수 있습니다.
  • pip는 pip uninstall <PACKAGE-NAME>pip install --upgrade <PACKAGE-NAME>과 같은 단일 명령으로 패키지를 쉽게 제거하고 업데이트 할 수있는 다양한 메타 데이터를 추적합니다. 이와 대조적으로 setup.py을 사용하여 패키지를 설치하는 경우 패키지를 수동으로 삭제하고 유지 관리해야하므로 오류가 발생할 가능성이 있습니다.
  • 더 이상 수동으로 파일을 다운로드 할 필요가 없습니다. setup.py을 사용하는 경우 라이브러리 웹 사이트를 방문하여 파일의 압축을 풀고 파일의 압축을 풀고 setup.py을 실행해야합니다. 반면에 pip는 Python Package Index (PyPi)을 자동으로 검색하여 패키지가 있는지 확인하고 자동으로 패키지를 다운로드, 추출 및 설치합니다. 몇 가지 예외를 제외하고, 진정으로 유용한 파이썬 라이브러리는 거의 모든 PyPi에서 찾을 수 있습니다.
  • pip는 파이썬 배포의 새로운 표준 인 easily install 바퀴를 드릴 것입니다. More info about wheels.
  • pip는 컴퓨터에서 충돌하는 라이브러리 및 Python 버전이 필요한 여러 프로젝트를 실행할 수있게 해주는 프로그램 인 virtualenv을 사용하여 더 잘 통합되는 추가 이점을 제공합니다. More info.
  • pip는 Python 2.x 시리즈에서는 Python 2.7.9로, Python 3.x 시리즈에서는 Python 3.4.0에서 기본적으로 번들로 제공되므로 사용하기가 더 쉽습니다.

기본적으로 pip를 사용하십시오. python setup.py install을 사용하는 것보다 향상된 기능을 제공합니다.

PIP는 단독으로, 튜토리얼이 필요하지 않습니다. 90 %의 시간이 필요합니다. 실제로 필요한 명령은 pip install <PACKAGE-NAME>입니다. 그것은 당신이 정확하게 당신이 핍로 수행 할 수있는 작업의 세부 사항에 대한 자세한 내용을 학습에 관심이 있다면, 참조 말했다

일반적으로 함께 pip와 virtualenv를 사용하는 것이 좋습니다. 파이썬 초보자 인 경우 필자는 pip를 사용하고 패키지를 전 세계적으로 설치하는 것으로 시작하는 것이 좋을 것이라고 개인적으로 생각하지만 결국에는 심각한 프로젝트를 수행 할 때 virtualenv로 전환해야한다고 생각합니다. 당신이 함께 핍과 VIRTUALENV를 사용하는 방법에 대한 자세한 내용을 알아 보려면

, 참조 :

8

python setup.py install이 메이크업의 아날로그입니다 설치 : 파일을 대상 디렉토리로 컴파일하고 복사하는 제한된 방법입니다. 그렇다고해서 실제로 시스템에 소프트웨어를 설치하는 것이 가장 좋은 방법은 아닙니다.

pip

는 다음과 같은 친숙한 패키지 관리자와 같이, 설치, 목록 및 제거 패키지를 업그레이드 할 수있는 패키지 관리자입니다 : 후드에서 dpkg, apt, yum, urpmi, ports 등이 python setup.py install를 실행되지만 특정 옵션으로 상황이 종료 방법과 위치를 제어 할 수 설치되어 있습니다.

요약 : pip을 사용하십시오.