[python] 파이썬에는 패키지 / 모듈 관리 시스템이 있습니까?

파이썬에는 패키지 / 모듈 관리 시스템이 gem install packagename있습니까? 루비에는 루비 젬이있는 방법과 비슷합니까 ?

파이썬 모듈을 설치 , 난 단지에 대한 참조를 볼 수 python setup.py install있지만, 먼저 패키지를 찾을 수 있도록해야합니다.



답변

최근 진행

2014 년 3 월 : 좋은 소식! Python 3.4 는 Pip과 함께 제공됩니다. Pip은 오랫동안 파이썬의 사실상 표준 패키지 관리자였습니다. 다음 과 같은 패키지 를 설치할 수 있습니다 .

pip install httpie

와이! 이것은 모든 파이썬 릴리스에서 가장 좋은 기능입니다. 커뮤니티의 풍부한 라이브러리를 누구나 이용할 수 있습니다. 초보자는 더 이상 설정이 어려운 커뮤니티 라이브러리 사용에서 제외되지 않습니다.

그러나 파이썬 패키징 경험에는 여전히 많은 좌절감이 남아 있습니다. 누적 적으로 그들은 초보자에게 파이썬을 매우 환영하지 않습니다. 또한 오랜 방치의 역사 (즉, Python 2.0에서 Python 3.3까지 14 년 동안 패키지 관리자와 함께 제공하지 않음)는 커뮤니티에 피해를 입혔습니다. 아래에 모두 설명합니다.

뛰어난 좌절

숙련 된 사용자는 이러한 좌절을 해결할 수 있지만 Python을 처음 사용하는 사람들에게는 큰 장애물이라는 것을 이해해야합니다. 실제로 어려움과 일반적인 사용자 친화 성은 많은 사람들을 방해 할 가능성이 있습니다.

PyPI 웹 사이트는 도움이됩니다

패키지 관리자가있는 모든 언어에는 커뮤니티가 패키지를 다운로드하고 게시 할 수있는 공식 (또는 준 공식) 저장소가 있습니다. 파이썬에는 파이썬 패키지 인덱스 (PyPI)가 있습니다. https://pypi.python.org/pypi

해당 페이지를 RubyGems 및 Npm (노드 패키지 관리자)의 페이지와 비교해 보겠습니다.

  1. 패키지의 https://rubygems.org/gems/rails RubyGems 페이지rails
  2. 패키지에 대한 https://www.npmjs.org/package/express Npm 페이지express
  3. 패키지에 대한 https://pypi.python.org/pypi/simplejson/ PyPI 페이지simplejson

RubyGems 및 Npm 페이지는 패키지에 대한 한 줄짜리 설명으로 시작한 다음 설치 방법에 대한 대규모 지침을 제공합니다.

한편, PyPI를 순진하게 탐색하는 불쾌한 Python 사용자에게는 화가납니다. 에 https://pypi.python.org/pypi/simplejson/ , 그들은 그런 도움이 지침을 찾을 수 있습니다. 그러나 큰 녹색 ‘다운로드’링크가 있습니다. 그것을 따르는 것은 부당하지 않습니다. 아하, 클릭! 브라우저가 .tar.gz파일을 다운로드 합니다. 많은 Windows 사용자는 열 수 없지만 인내하면 결국 압축을 풀고 실행 setup.py하고 결국 Google의 도움을 받아 실행할 수 있습니다 setup.py install. 일부는 바퀴를 포기하고 재발 명 할 것입니다.

물론이 모든 것이 잘못되었습니다. 쉬운 패키지를 설치하는 방법은 핍 명령입니다. 그러나 PyPI는 Pip에 대해서도 언급하지 않았습니다. 대신, 그것은 고풍스럽고 지루한 길로 이끌었습니다.

오류 : vcvarsall.bat를 찾을 수 없습니다

Numpy는 Python에서 가장 많이 사용되는 라이브러리 중 하나입니다. Pip으로 설치하려고하면이 암호 오류 메시지가 나타납니다.

오류 : vcvarsall.bat를 찾을 수 없습니다

이 문제를 해결하려고하면 Stack Overflow에서 가장 인기있는 질문 중 하나입니다 : ” error : vcvarsall.bat를 찾을 수 없습니다

성공하는 사람은 거의 없습니다.

동일한 상황에서 Ruby는이 메시지를 인쇄하여 진행 상황 및 해결 방법을 설명합니다.

빌드 도구를 포함하도록 PATH를 업데이트하거나 http://rubyinstaller.org/downloads 에서 DevKit을 다운로드하고 http://github.com/oneclick/rubyinstaller/wiki/Development-Kit 의 지침을 따르십시오

패키지 게시가 어렵다

Ruby와 Nodejs는 모든 기능을 갖춘 패키지 관리자 인 Gem (2007 년 이후) 및 Npm (2011 년 이후)과 함께 제공되며 GitHub를 중심으로 공유 커뮤니티를 육성했습니다. Npm은 패키지 를 설치하는 것만 큼 쉽게 게시 할 수 있으며 이미 64k 패키지가 있습니다. RubyGems는 72k 패키지를 나열 합니다 . 훌륭한 Python 패키지 인덱스는 41k 만 나열 합니다 .

역사

배터리 포함 “이라는 모토에 직면하여 파이썬은 2014 년까지 패키지 관리자없이 배송했습니다.

Pip까지 사실상의 표준은 명령 easy_install이었습니다. 너무 부적절했다. 패키지를 제거하라는 명령이 없습니다.

핍은 크게 개선되었습니다. 그것은 Ruby ‘s Gem의 기능을 대부분 가지고있었습니다. 불행히도 Pip는 최근까지 아이러니하게 설치하기가 어려웠다. 사실,이 문제는 Stack Overflow에서 “파이썬을 어떻게 Windows에 설치합니까?


답변

Python 패키지 색인 (PyPI) 이 표준으로 보입니다.

  • 패키지
    설치 하려면pip install MyProject
  • 패키지
    업데이트 하려면pip install --upgrade MyProject
  • 패키지 버전 수정pip install MyProject==1.0

다음과 같이 패키지 관리자를 설치할 수 있습니다.

curl -O http://python-distribute.org/distribute_setup.py
python distribute_setup.py
easy_install pip

참고 문헌 :


답변

그리고 대비를 제공하기 위해 pip도 있습니다.


답변

Ruby 및 Perl 개발자이자 Python 학습자 인 easy_install 또는 pip는 RubyGems 또는 CPAN과 동일하지 않습니다.

개발자가 업데이트 할 때 개발 시스템에서 최신 버전의 모듈을 실행하고 프로덕션 시스템을 정해진 버전으로 고정시키는 경향이 있습니다. RubyGems와 CPAN은 모두 사용 가능한 항목을 나열하여 모듈을 쉽게 찾은 다음 원하는 경우 개별적으로 또는 대량으로 설치 한 후 나중에 업데이트합니다.

easy_install 및 pip를 사용하면 브라우저 검색을 통해 찾거나 다른 방법으로 알게 된 후에 모듈을 쉽게 설치할 수 있지만 사용 가능한 항목을 알려주지는 않습니다. 업데이트 할 모듈의 이름을 명시 적으로 지정할 수 있지만 앱은 업데이트 된 내용을 알려주거나 원하는 경우 모든 것을 대량으로 업데이트하지 않습니다.

따라서 기본 기능은 pip 및 easy_install에 있지만 CPAN 및 RubyGems와 친숙하고 사용하기 쉽고 동등하게 만드는 기능이 누락되었습니다.


답변

easy_install 및 후속 pip 는 두 개 이상 있습니다 .


답변

2014 년 말 현재 Conda를 사용한 Continuum Analytics의 Anaconda Python 배포 패키지 관리자 고려해야합니다. 그것은 하나의 응집 된 다운로드로 사람들이 일반적으로 파이썬으로 겪는 대부분의 심각한 문제 (다른 파이썬 버전 관리, 파이썬 버전 업데이트, 패키지 관리, 가상 환경, Windows / Mac 호환성)를 해결합니다.

시스템을 전혀 변경하지 않고도 Python으로 원하는 모든 것을 할 수 있습니다. 다음으로 선호되는 솔루션은 pip + virtualenv이지만 virtualenv를 시스템 Python에 설치하거나 시스템 Python이 원하는 버전이 아닐 수 있습니다 . 또는 source에서 빌드하십시오 . Anaconda는이 전체 프로세스를 한 번의 버튼 클릭으로 만들고 다른 많은 기능을 추가합니다.


답변

즉 것 easy_install을을 .