본문 바로가기

개발자 레니는 지금 -/소프트웨어와 함께

[ Python ] What Is Pip? A Guide for New Pythonistas


# Connect Leni 💬



Pip 너는 무엇인가! 나는 너를 알고 쓰는 것 인가?



Leni post with by Tistory 2019/04/04



오늘은 Pip가 무엇인지에 대해 소개하는 글을 보고 일부분만 해석, 정리해보고자 한다.

쓰니는 영어에 미숙하고 멘탈이 유리이므로 해석이 이상하다면 댓글로 친절하게 가르침을 부탁드립니다.


원문 포스팅(English)에 대한 목차는 아래에서 볼 수 있으며, 클릭하시면 원문으로 이동합니다 😁





Pip가 무엇인가? Pip는 파이썬을 위한 표준 패키지 관리자이다. Pip는 파이썬의 표준 라이브러리 외에 추가적인 패키지를 설치하거나 관리 할 수 있도록 해준다.

이 튜토리얼은 Pip를 신생 파이써니스타들(Pythonistars)에게 소개한다.


튜토리얼을 통해 배울 수 있는 것들:

· 표준 파이썬 배포판에 포함되지 않은 추가 패키지 설치

· PyPI(Python Package Index)에 게시된 패키지 찾기

· 스크립트 및 응용 프로그램을 위한 요구 사항 관리하기

· 패키지 및 패키지 종속성 삭제하기


사용할 패키지 찾기

패키지를 셋팅할 때 당신이 기억하는 패키지가 있을 것이고 응용 프로그램에서 사용할 수 있는 패키지 세트가 있을 것이다.

requestspytest 패키지는 파이썬 도구 상자에서 유용한 도구가 될 수 있는 좋은 후보들이다.


하지만 다른 문제를 해결해야 할 때 그것을 도와줄 다른 도구나 라이브러리를 찾고 싶어질 것이다.

Pip는 search 명령어를 통해 PyPI에 게시된 패키지를 찾을 수 있도록 해준다.


해당 명령어를 어떻게 사용하는지 보려면 터미널 창에 아래 명령어를 입력하면 된다.

$ pip help search


Tip. $ pip help <command> 를 사용하여 pip에서 지원되는 명령에 대한 추가적인 정보를 검색할 수 있다.


Search 명령어를 통해 패키지를 검색할 경우 간단한 설명 외에 많은 정보를 얻을 수는 없다.

대부분의 경우 PyPI 웹 사이트에서 직접 패키지를 검색하는데 인덱스 검색 기능과 프레임워크, 주제, 개발 상태 등과 같은 패키지에 노출된 메타데이터에 의해

결과를 필터링하는 방법을 제공한다.



Pip를 다른 걸로 대체 해 보자

pip는 파이써니스타들(Pythonistars)에게 필수적인 도구이며, 많은 응용 프로그램과 프로젝트의 패키지를 관리하기 위해 사용된다.

해당 튜토리얼은 기초적인 도움을 주었지만, 파이썬 커뮤니티는 다른 개발자들이 사용할 수 있는 훌륭한 툴과 라이브러리를 제공하는데 매우 적극적이다.

다음으로 패키지 관리를 단순화하고 개선하려는 Pip의 다른 대안을 보자.


이 섹션에서는 파이썬에서 사용할 수 있는 다른 패키지 관리자 도구들을 배워본다.


원문에 시작을 위한 가이드 페이지로 이동하는 url이 첨부되어 있으니 필요하시다면 원문을 한 번 보시는 것을 추천 드립니다!


    • 모든 것을 하는 Conda

콘다(Conda)는 파이썬을 포함한 많은 언어의 패키지, 종속성 및 환경 관리자다. 

사실, 콘다는 파이썬의 data science 패키지로 시작된 Anaconda로 부터 유래되었다.

콘다는 data science와 machine learing 응용 프로그램에서 폭넓게 사용되며, 자체 인덱스를 사용하여 호환되는 패키지를 호스팅 한다.

콘다는 패키지 종속성을 관리할 뿐만 아니라 응용 프로그램의 가상 환경을 관리하고, 호환되는 파이썬 배포판을 설치하고 배포를 위해 응용 프로그램을 프로덕션으로 패키징한다.


    • Pipenv

Pipenv는 "패키지중에서 가장 좋은 패키지를 것을 가져오는 것을  목표"로 하는 또 다른 패키지 관리 도구이다.

가상 환경과 패키지 관리를 단일 툴로 통합하기 때문에 파이썬 커뮤니티 사이에서 많은 관심을 받고 있다.

또 Pipenv는 패키지 버전, 개발 및 프로덕션 종속성 분리, 프로덕션을 위한 잠금 등으로 pip를 통해 수동으로 관리 할 때 발생할 수 있는 가장 일반적인 문제를 해결한다.


    • Poetry

Poetry는 많은 관심을 끌고 있는 또 다른 pip 대안이다. Pipenv와 마찬가지로 패키지 버전 관리를 단순화하고 개발 및 프로덕션 종속성을 분리하여 가상 환경에서 동작하게 한다.

만약 JavaScript와 npm을 안다면 Poetry는 매우 익숙해 보일 것 이다.

Poetry는 패키지 관리뿐만 아니라 응용 프로그램과 라이브러리를 위한 배포판을 만들고 PyPI에 배포할 수 있다.


어떻게 파이썬 패키지를 PyPI에 오픈 소스로 게시하느냐는 Poetry를 시작하는데 좋은 내용이다.


그래서 Pip가 뭡니까?

이때까지, Pip는 여러 파이썬 프로젝트에서 의존/종속성을 관리하기 위한 패키지 관리자라는걸 보았다.

Pip는 파이썬 설치자(Installer)에 포함되어 있으며 모든 Pythonistars가 사용법을 필수로 알아야하는 도구가 되었다.

파이썬은 모든 종류의 응용 프로그램 개발에 적합한 광범위한 표준 라이브러리를 제공하지만 활발한 파이썬 커뮤니티는 파이썬 응용 프로그램 개발을 가속화하는 훨씬 더 많은 도구와 라이브러리를 제공한다.


이 도구들과 라이브러리들은 PyPI에 게시되어 있고, pip는 개발자들이 그것들을 그들의 응용 프로그램 환경에 설치할 수 있도록 해준다.