programing

easy_install보다 pip을 사용하는 이유는 무엇입니까?

randomtip 2023. 1. 25. 08:40
반응형

easy_install보다 pip을 사용하는 이유는 무엇입니까?

트윗은 다음과 같습니다.

얼굴을 찌르고 싶지 않으면 easy_install을 사용하지 마십시오.pip을 사용합니다.

easy_install보다 pip을 사용하는 이유는 무엇입니까?PyPI와 패키지 작성자가 대부분이지 않습니까?작성자가 휴지통 소스 tarball(파일 누락, setup.py 없음)을 PyPI에 업로드하면 pip과 easy_install 모두 실패합니다.외관상의 차이 외에, 왜 Python 피플(위의 트윗과 같이)은 easy_install보다 pip을 강하게 선호하는 것 같습니까?

(커뮤니티에 의해 유지되는 배포 패키지의 easy_install에 대해 가정합니다).

Ian Bicking의 소개부터 pip까지:

pip은 원래 다음과 같은 방법으로 easy_install을 개선하기 위해 작성되었습니다.

  • 모든 패키지는 설치 전에 다운로드됩니다.그 결과 부분적으로 완료된 설치는 발생하지 않습니다.
  • 콘솔에 유용한 출력을 표시할 수 있도록 주의하십시오.
  • 조치의 이유를 추적합니다.예를 들어 패키지를 설치하는 경우 pip은 해당 패키지가 필요한 이유를 추적합니다.
  • 오류 메시지는 유용합니다.
  • 이 코드는 비교적 간결하고 응집력이 있어 프로그래밍 방식으로 사용하기 쉽습니다.
  • 패키지는 에그 아카이브로서 인스톨 할 필요는 없습니다.에그 메타데이터를 유지하면서 플랫으로 인스톨 할 수 있습니다.
  • 기타 버전 관리 시스템(Git, Mercurial 및 Baza)에 대한 네이티브 지원
  • 패키지 언인스톨.
  • 고정 요건 세트를 간단하게 정의하고 패키지 세트를 안정적으로 재현할 수 있습니다.

이 답변의 상당수는 2015년의 최신이 아닙니다(Daniel Roseman이 처음에 받아들인 답변은 그렇지 않습니다).현황은 다음과 같습니다.

  • 는 현재 휠휠)로..whl파일)—PyPI뿐만 아니라 Christoph Gohlke의 Windows용 확장 패키지 등의 서드파티 저장소에서도 사용할 수 있습니다. pip다룰 줄 easy_install하다.
  • 가상 환경(3.4에 내장되어 있거나 를 사용하여 2.6+/3.1+에 추가할 수 있음)은 매우 중요하고 중요한 도구가 되었습니다(공식 문서에서는 다음과 같이 권장됩니다).pip벗어나도 easy_install.
  • distribute「」를 easy_install더 이상 유지보수가 되지 않습니다.★★★★★★★★★★★★★★★★의 개선점setuptoolssetuptools하고 있습니다distribute will will will will install will 。setuptools★★★★★★ 。
  • easy_install그 자체가 준유지된 것일 뿐입니다.
  • 「」의가, 「」의pip에는 easy_install 트리에서 등에서 - DVCS repo - 할 수 .pip install .,pip install git+https://.
  • pip2.7 및 3.4+와 python.org Python 2.7 3.4+ 패키지가 되어 있습니다.pip부트스트랩은 소스로부터 빌드하는 경우 기본적으로 포함됩니다.
  • 패키지 설치, 사용 및 구축에 대한 다양한 미완성 문서는 Python Packaging User Guide로 대체되었습니다.Python Modules 설치에 대한 Python의 자체 설명서는 이 사용자 가이드를 참고하여 명시적으로 호출합니다.pip'다'는 '다'
  • 기타 신기능이 에 추가되었습니다.pip 세월 easy_install를 들어.pip그럼 요건 파일을 작성한 후 각 측면에1개의 명령어로 설치함으로써 사이트 맵을 쉽게 복제할 수 있습니다.또는 요건 파일을 로컬 리포트로 변환하여 사내 개발에 사용할 수도 있습니다.기타 등등.

가 유일한 는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」easy_installX2015에서 프리 된입니다., 은 10.5 , 음음 、 음음 、 음음 、 음음 음음 。easy_install 10, 그들은 .10을 포함하지 pip에서는, .9+ 의 「」, 「」를 합니다.get-pip.py8의 에 10.5~10.8로 쉬워요.sudo easy_install pip (으로 ( ( )easy_install pipOS X 10.5~10.8입니다).10~10은 10.5~10.8을 포함합니다.readline 식으로easy_install 놀 줄 pip않기 에, 「 하고 싶다」, 「이렇게 하고 싶다」도 하고 .sudo easy_install readline업그레이드 할 수 있습니다.

pip을 선호하는 또 다른 이유는 pip이 새로운 핫도이며 앞으로도 계속 사용될 것이기 때문입니다.

아래의 인포그래픽은, 「Hitchhiker's Guide to Packaging v1.0」의 「Current State of Packaging」섹션에 기재되어 있습니다.이 인포그래픽에서는, 향후 setuptools/easy_install이 없어지는 것을 나타내고 있습니다.

여기에 이미지 설명 입력

다음은 배포 문서의 다른 인포그래픽입니다.Setuptools와 easy_install은 새로운 핫도(distribution과 pip)로 대체될 예정입니다.pip은 여전히 새로운 인기 제품이지만, 2013년 Setuptools v0.7 출시와 함께 Distribute가 Setuptools와 통합되었습니다.

여기에 이미지 설명 입력

두 가지 이유가 더 있을 수 있습니다.

  1. 은 pip을 합니다.uninstall

  2. 중간에 설치가 실패하면 pip은 깨끗한 상태를 유지합니다.

요건 파일

정말이지, 저는 이것을 virtualenv와 함께 매일 사용하고 있습니다.


신속한 의존관계 관리 튜토리얼, 여러분

요건 파일을 사용하면 pip을 통해 설치된 모든 패키지의 스냅샷을 생성할 수 있습니다.이러한 패키지를 가상 환경에 캡슐화함으로써 코드베이스를 특정 패키지 세트로 나누어 다른 사람과 공유할 수 있습니다.

Heroku의 매뉴얼 https://devcenter.heroku.com/articles/python에서 입수.

가상 환경을 만들고 이를 사용하도록 셸을 설정합니다.(bash/*nix 지침)

virtualenv env
source env/bin/activate

이제 이 셸과 함께 실행되는 모든 python 스크립트는 이 환경의 패키지와 구성을 사용합니다.이제 패키지를 머신에 글로벌하게 설치할 필요 없이 이 환경에 로컬로 설치할 수 있습니다.

pip install flask

이것으로, 인스톨 되고 있는 패키지에 관한 정보를 덤프 할 수 있습니다.

pip freeze > requirements.txt

해당 파일을 버전 제어에 체크인하면 다른 사용자가 코드를 가져오면 해당 사용자가 자신의 가상 환경을 설정하고 다음과 같은 모든 종속성을 설치할 수 있습니다.

pip install -r requirements.txt

이렇게 지루함을 자동화할 수 있는 것은 언제든지 훌륭합니다.

pip은 바이너리 패키지를 설치하지 않으며 Windows에서 제대로 테스트되지 않습니다.

Windows에는 컴파일러가 포함되어 있지 않기 때문에 기본적으로는 pip을 사용할 수 없는 경우가 많습니다.easy_install은 Windows용 바이너리 패키지를 설치할 수 있습니다.

신::setuptoolsdistribute★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ setuptools입니다.distutils및 휠 형식이 변경됩니다. 때문에, 「 」는,easy_install ★★★★★★★★★★★★★★★★★」pip지금은 어느 정도 대등한 위치에 있습니다.

출처 : http://pythonhosted.org/setuptools/merge-faq.html#why-setuptools-and-not-distribute-or-another-name

퍼지맨의 답변에 덧붙여:

pip은 바이너리 패키지를 설치하지 않으며 Windows에서 제대로 테스트되지 않습니다.

Windows에는 컴파일러가 포함되어 있지 않기 때문에 기본적으로는 pip을 사용할 수 없는 경우가 많습니다.easy_install은 Windows용 바이너리 패키지를 설치할 수 있습니다.

Windows 에서의 힌트는 다음과 같습니다.

  • 하면 .easy_install <package> 해, 바이너리를 하지 .

  • 하면 .pip uninstall <package>easy_install 을 .

이것은 윈도우에서 사용할 수 있는 회피책일 뿐입니다.사실 바이너리가 포함되지 않으면 항상 pip을 사용합니다.

최신 pip doku를 참조하십시오.http://www.pip-installer.org/en/latest/other-tools.html#pip-compared-to-easy-install

저는 그것에 대해 메일링 리스트에 어떤 예정이 있는지 묻겠습니다.

다음은 최신 업데이트입니다.

설치 은 이이리 the the the the the the the the the the the the the the the the the the the the the the 。wheel★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 1.0입니다.

https://pypi.python.org/pypi/wheel

http://wheel.readthedocs.org/en/latest/

wheel X 을 작성함으로써PySide를 사용합니다.wheel하겠습니다.돌아가서 보고할게요

건배 - Chris

빠른 업데이트:

로의 wheel거의 끝나가요.는 「」를 하고 있습니다.wheel.

제가 바퀴를 만들어주겠다고 약속했는데PySide츠미야효과가 좋다!

힌트: 일부 개발자들은 단순히 교체하는 것을 잊었기 때문에 휠 형식을 지원하지 못했습니다.distutils타타에 setuptools의 경우,하려면 , 「」, 「」의 이 1개의 합니다.setup.py.

easy_installpip소스 코드를 직접 풀어야 합니다.

' ' ' ''의 경우.GitPython의, " " "pip('').0.1.7, 「」, 「」에 있는 easy_install에 나온 is is 、 is 、 is 、 is 、 is 、 is 、 is 、 is is 。0.3.2.rc1.

하고 Python 2.7.8의 언더레이 메커니즘에 대해서는 잘 모르겠습니다.easy_install ★★★★★★★★★★★★★★★★★」pip 일부 수 ,, ,, ,, ,, ,, ,, ,, ,, 릅, 릅, 릅, 릅, 릅, 릅, 릅, 릅, 릅, 릅, 릅, 릅, 릅, 릅, 릅, ,, ,, ,, ,, ,, ,, ,, ,, ,, , may, may,easy_install새로운 버전을 탑재한 것입니다.

easy_install GitPython

언급URL : https://stackoverflow.com/questions/3220404/why-use-pip-over-easy-install

반응형