파이썬에는 패키지 / 모듈 관리 시스템이 gem install packagename
있습니까? 루비에는 루비 젬이있는 방법과 비슷합니까 ?
에 파이썬 모듈을 설치 , 난 단지에 대한 참조를 볼 수 python setup.py install
있지만, 먼저 패키지를 찾을 수 있도록해야합니다.
파이썬에는 패키지 / 모듈 관리 시스템이 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)가 있습니다. https://pypi.python.org/pypi
해당 페이지를 RubyGems 및 Npm (노드 패키지 관리자)의 페이지와 비교해 보겠습니다.
rails
express
simplejson
RubyGems 및 Npm 페이지는 패키지에 대한 한 줄짜리 설명으로 시작한 다음 설치 방법에 대한 대규모 지침을 제공합니다.
한편, PyPI를 순진하게 탐색하는 불쾌한 Python 사용자에게는 화가납니다. 에 https://pypi.python.org/pypi/simplejson/ , 그들은 그런 도움이 지침을 찾을 수 있습니다. 그러나 큰 녹색 '다운로드'링크가 있습니다. 그것을 따르는 것은 부당하지 않습니다. 아하, 클릭! 브라우저가 .tar.gz
파일을 다운로드 합니다. 많은 Windows 사용자는 열 수 없지만 인내하면 결국 압축을 풀고 실행 setup.py
하고 결국 Google의 도움을 받아 실행할 수 있습니다 setup.py install
. 일부는 바퀴를 포기하고 재발 명 할 것입니다.
물론이 모든 것이 잘못되었습니다. 쉬운 패키지를 설치하는 방법은 핍 명령입니다. 그러나 PyPI는 Pip에 대해서도 언급하지 않았습니다. 대신, 그것은 고풍스럽고 지루한 길로 이끌었습니다.
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에 설치합니까? "
gem install X
. 모든 플랫폼에서 작동하는 것 같습니다. 그렇다면 Windows에서 C 코드 컴파일이 필요한 보석에 대해 어떻게 이것을 관리 했습니까?
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을을 .
easy_install
하려면 날짜를 먼저 확인하십시오. 그것은 거의 7 년 전에 주어 졌을 때 유효한 조언이었습니다 . 응답자가 업데이트를 위해 정기적으로 다시 방문 할 것이라고 생각하지 않으므로 다운 보팅은 어리 석습니다.
이를 setuptools라고합니다. "easy_install"명령으로 실행하십시오.
http://pypi.python.org/ 에서 디렉토리를 찾을 수 있습니다 .
나도 볼 수 없습니다 MacPorts를을 나 브루은 나는 많은 사람들이 생각하는 것처럼 보인다 내 자신 US $ 0.02를 추가 할 것입니다, 여기에 다른 답변에 언급,하지만 난 않기 때문에 그들에게 관련 질문을 다른 곳에서 스택 오버플로 언급 참조 MacPorts를 뿐만 아니라 패키지 등을 일반적으로 패키지 관리자 (현재는 16311 패키지 / 포트, 2931은 "파이썬"과 일치하지만 Mac에만 해당)를 나열하지만 Python 패키지 / 모듈의 적절한 패키지 관리자로도 사용됩니다.
"... Mac python 개발자가 모듈을 관리하기 위해 사용하는 방법은 무엇입니까?"
"Linux와 달리 Mac에는 패키지 관리자가 제공되지 않지만 설치할 수있는 유명한 패키지 관리자가 몇 가지 있습니다. Macports ..."
나는 여전히 MacPorts를 사용할 것인지 아닌지에 대해 논쟁하고 있지만 지금은 그 방향으로 기울고 있습니다.
pip install <your_favorite_package>
Windows에서 http://chocolatey.org/ 를 설치 한 다음
choco install python
업데이트 된 PATH를 사용하여 새 cmd 창을 엽니 다. 다음으로
choco install pip
그 후 당신은 할 수 있습니다
pip install pyside
pip install ipython
...
여기에 pipenv 를 언급 한 사람이 없기 때문에 모든 사람들이 파이썬 패키지를 관리하기 위해 왜 그것을 사용해야하는지에 대한 견해를 설명하고자합니다.
@ColonelPanic이 언급했듯이 Python Package Index 와 pip 및 virtualenv 에도 몇 가지 문제가 있습니다.
Pipenv 는 pip 관련 문제를 대부분 해결하고 추가 기능도 제공합니다.
Pipenv는 pip와 virtualenv를 대체하기 위해 만들어졌습니다. 즉 pipenv는 모든 프로젝트에 대해 별도의 가상 환경을 자동으로 작성하므로 프로젝트마다 다른 파이썬 버전 / 패키지 버전 간의 충돌을 피할 수 있습니다.
이전에 python 프로젝트를 수행 한 적이 있다면 이러한 기능으로 패키지 관리가 훨씬 쉬워집니다.
check
보안 취약점을 확인하고 현재 환경에서 PEP 508 요구 사항을 충족하는지 확인합니다. ( 필자는 PyPi의 악성 패키지 이후 특히 훌륭한 기능이라고 생각 합니다 )graph
설치된 종속성의 종속성 그래프가 표시됩니다.자세한 내용은 여기를 참조하십시오 -Pipenv .
여기 에서 설치 설명서를 찾을 수 있습니다
추신 : Python Package requests 작업을 좋아한다면 pipenv 가 동일한 개발자 Kenneth Reitz 의 것임을 알게되어 기쁩니다.
시 는 당신이 찾고있는 것입니다. 종속성 관리, 가상 환경, 실행을 관리합니다.