[ubuntu+python] pip install과 apt-get install의 차이는? pip와 pip3는 뭐가 다르지? sudo란?

코딩/python|2020. 1. 20. 00:59

안녕하세요. 컴퓨터비전 블로그, 비스카이비전의 심교훈입니다.

 

평생 거의 윈도우만 사용하다 최근에 와서야 리눅스 운영체제(그 중 하나인 우분투)를 사용해보려고 하다보니 이것저것 궁금한 것이 많네요.^^ 궁금증에 대해 답을 찾은 것들에 대해 정리하려고 합니다. 

 

1. pip와 pip3의 차이

우선 pip는 파이썬으로 작성된 패키지 소프트웨어를 다운로드, 설치, 관리하는 패키지 관리 시스템이라고 합니다[1].  저의 경우 pip를 새로운 파이썬 패키지를 설치할 때 많이 사용해왔습니다. 

 

pip말고 pip3를 사용하는 경우도 있는데, pip는 파이썬2를 위한 것이라고 하고, pip3는 파이썬3을 위한 것이라고 합니다[2]. 

 

2. pip install과 apt-get install의 차이

어떤 패키지를 설치할 때는 pip가 아니라 apt-get을 이용해서 설치할 수도 있습니다. 둘은 무슨 차이가 있을까요? 

우선 apt는 어드밴스트 패키징 툴(advanced packaging tool)의 약자입니다[5].  

 

둘의 가장 큰 차이는 어디서부터 패키지를 가져오는가로 보입니다. pip로 설치하면 파이썬 패키지들의 저장소인 PyPI(Python Package index)에서 패키지를 가져오고, apt-get으로 설치하면 우분투 저장소로부터 패키지를 가져옵니다. PyPI는 파이썬 언어를 만든 Python Software Foundation에서 호스팅한 것이고, 우분투 저장소는 우분투를 만든 Canonical에서 호스팅한 것입니다. 

 

pip는 파이썬 패키지들을 설치할 수 있는 반면, apt-get은 모든 종류의 패키지를 설치할 수 있습니다. 단, 파이썬 패키지들 중에 apt-get을 통해서는 설치할 수 없는 것도 있다고 합니다.  

 

또한 Canonical은 어떤 패키지의 하나의 버전만 호스팅해놨기 때문에, 파이썬 패키지의 특정 버전이 필요한 경우에는 pip를 사용해야한다고 합니다. 

 

virtualenv 가상환경에 패키지를 설치하려면 pip를 사용해야한다고 합니다. virtualenv를 활성화한 다음에 pip를 이용해서 설치하면 알아서 가상환경에 패키지를 설치해준다고 합니다. 

 

pip 설치와 apt-get 설치의 차이에 대해서는 스택오버플로우에 있는 답변들[3]이 굉장히 유용하니, 참고하시기 바랍니다.

 

3. sudo의 의미

sudo는 super user do의 약자로 강력한 관리자의 권한으로 무언가를 하겠다는 의미를 갖습니다[4]. 권한이 센 만큼 잘못 사용했을 때는 책임도 크겠죠?^^  

 

 

항상 질문과 지적은 환영입니다. 빠르게 답변해드리고 있으니, 댓글 남겨주세요.^^ 

 

 

 

<참고자료>

[1] https://ko.wikipedia.org/wiki/Pip_(%ED%8C%A8%ED%82%A4%EC%A7%80_%EA%B4%80%EB%A6%AC%EC%9E%90), 위키백과, pip (패키지 관리자)

[2] https://kaen2891.tistory.com/27, Kaen의 일상생활, "pip와 pip3의 차이"

[3] https://askubuntu.com/questions/431780/apt-get-install-vs-pip-install?newreg=2adf506d10f04229bb92756f31bf6fb0, apt-get install vs pip install

[4] https://linuxacademy.com/blog/linux/linux-commands-for-beginners-sudo/, Linux Commands For Beginners: SUDO

[5] https://ko.wikipedia.org/wiki/%EC%96%B4%EB%93%9C%EB%B0%B4%EC%8A%A4%ED%8A%B8_%ED%8C%A8%ED%82%A4%EC%A7%95_%ED%88%B4, 어드밴스트 패키징 툴