파이썬 pip

파이썬은 다른 프로그래머들이 작성한 패키지를 쉽게 설치할 수 있는 툴로 pip를 제공하고 있습니다. pip툴이 파이썬에 정식으로 포함되기 전에는 따로 설치를 해야만 했습니다. 하지만 파이썬 3.4 버전 이후부터는 파이썬 설치 시 같이 설치되도록 되었습니다. 파이썬을 설치하고 Path를 자동으로 등록하게 설치하셨다면 바로 커맨드 창에 가서 pip명령어를 수행하시면 간단한 사용방법이 출력되는 것을 확인할 수 있습니다.

 

Python pip

python pip upgrade

간혹 pip명령어를 사용하다 보면 다음과 같은 메시지가 출력되는 것을 확인할 수 있습니다. 참고로 단순히 명령어나 옵션이 없는 pip명령어 만으로는 업그레이드하라는 메시지가 출력되지 않습니다.

 

Python pip upgrade 메시지 출력

 

이 메시지는 문구 그대로 pip를 업그레이드하라는 메시지입니다. 이 메시지를 무시하게 되면 패키지에 따라 설치가 원활히 되지 않는 경우가 발생할 수 있습니다. 때문에 pip 명령어를 실행했는데 이 메시지를 내뱉는다면 하던 일을 잠시 멈추고 pip업그레이드부터 최우선적으로 실행하는 것이 좋습니다. 업그레이드하는 방법은 메시지 안에 친절히 안내해 주고 있습니다. 작은따옴표 안에 있는 명령어와 옵션을 그대로 입력해 주면 됩니다.

 

Python pip upgrade 명령 수행

 

pip업그레이드가 정상적으로 수행이 되었다면 위와 같이 Successfully 메시지를 확인할 수 있습니다.

 

Python pip 사용법

pip의 사용법은 pip명령어를 수행하여 확인할 수 있습니다. 이 중 제일 먼저 출력되는 사용법(Usage)을 살펴보겠습니다.

Usage:

  pip <command> [options]

기본적으로 pip는 뒤에 명령어(<command>)를 붙이고 생략 가능한 옵션들([options])을 붙여 실행할 수 있는 것으로 안내해 주고 있습니다. 명령어 들은 install, download, uninstall, freeze, list, show, check, config, search, wheel, hash, completion, debug, help를 사용할 수 있습니다. 그리고 이 명령어들과 함께 옵션으로 -h, -v 등등의 범용적으로 사용 가능한 옵션들이 있는 것을 확인할 수 있습니다. 

 

혹시 범용적인 옵션으로 -h를 사용할 수 있다는 것은 각 명령어들 마다 -h 즉, help로 매뉴얼을 확인할 수 있다는 것을 눈치채셨나요? install 명령어에 대해 help 매뉴얼을 보고자 한다면 "pip install -h"를 download 명령어에 대해 help 매뉴얼을 보고자 한다면 "pip download -h"를 수행하면 각각의 명령어에서만 사용 가능한 옵션이 출력되는 것을 확인할 수 있습니다. 이 모든 옵션을 알고 있으면 좋겠지만 일반적으로 개발하는 데 있어 모든 옵션을 전부 사용하지 않습니다. 특수한 상황을 제외하고는 주로 패키지 확인 / 설치 / 삭제를 위해서 pip명령어를 사용하는 것이 대부분일 것입니다.

 

 

 

Python pip commands

pip freeze

pip가 동작하는 파이썬의 환경에 설치되어 있는 패키지 목록을 버전 정보와 함께 반환해 줍니다. 이 반환된 목록을 활용한다면 서버 이전 작업 등을 할 때 유용하게 사용할 수 있는 정보가 됩니다. 

 

Python pip freeze 실행

 

파일 생성은 리눅스와 유닉스 환경에서와 동일하게 윈도우10 에서도 "pip freeze > requirements.txt" 명령어로 파일을 생성할 수 있습니다. 이렇게 생성된 requirements.txt 파일은 install 명령으로 해당 패키지들을 설치할 수 있습니다.

 

주의하셔야 할 점은 --all 옵션을 주지 않게 되면 setuptools나 pip 등의 일부 패키지 정보가 스킵됩니다. 스킵 없이 모든 패키지 리스트를 얻고자 한다면 "pip freeze --all"과 같이 수행하시면 됩니다.

 

출력되는 패키지 리스트는 설치된 버전으로 고정되어 있습니다. 생성한 파일을 수정하여 버전 정보를 삭제하여 최신 버전의 패키지를 설치할 수 있으며 == 부호 이외에 <=, >=, <, > 부호로 상황에 맞게 수정할 수 있습니다.

 

pip install

pip install -r requirements.txt
requirements 포맷 형태의 파일을 읽어 해당 정보에 맞게 패키지를 설치 합니다. requirements 포맷 파일은 pip freeze로 생성 가능합니다.

 

pip install 파일명
패키지 설치파일을 직접 다운받았을 경우 다운받은 파일명을 입력하여 패키지를 설치할 수 있습니다.

 

pip install 패키지명
일반적으로 패키지 설치시 가장 많이 사용하는 형태로 패키지명에 해당하는 가장 최신버전의 패키지를 설치합니다.

 

pip install 패키지명==버전

명시한 버전의 패키지를 설치합니다. 버전을 명시하는 데 있어 ==부호 이외에 <=, >=, <, > 부호를 모두 사용할 수 있습니다.

 

pip install --upgrade 패키지명
설치된 패키지를 업그레이드 합니다. 단, 기존에 설치된 패키지를 업그레이드 할때는 상호의존하는 패키지들의 버전이 서로 호환하는지 확인 후 작업을 진행해야 합니다. 때에 따라서 최신 버전을 지원하지 않아 다운그레이드를 해야하는 상황이 발생하기도 합니다.

 

pip uninstall

pip uninstall 패키지명
명시한 패키지를 삭제합니다.

 

pip list

pip list
설치된 패키지 리스트를 보는데 가장 많이 사용하는 명령어 입니다.

 

pip list --outdated
설치되어 있는 패키지들 버전과 최신버전을 비교하여 버전이 다른 패키지만 출력해 줍니다. 

 

pip show

pip show 패키지명
명시한 패키지의 라이센스 정보나 위치정보 등을 확인할 수 있습니다.

 

pip search

pip search 검색명
모든 패키지들의 이름과 요약에서 검색명에 해당하는 패키지를 출력해 줍니다.

 


이외에도 pip명령어에서는 패키지를 다운할 때 사용하는 download 명령어 그리고 패키지들의 의존성을 확인하는 check 명령어 등이 있습니다. 모든 명령어 들을 전부 다 다루려고 했지만 정리하다가 특수한 경우가 아닌 이상에 잘 사용하지 않은 명령어 들이라 판단되어 자주 사용하는 명령어나 위주로만 정리했습니다. 당연히 자주 사용하는 기준은 저의 기준입니다. ^.^

 

MORE