본문으로 바로가기

[Python] 'pip' vs 'pipenv' (pipenv의 장점)

category Python/Python 2021. 5. 21. 16:41
반응형

 

 

 

파이썬에서 웹 개발을 위한 Django를 설치하거나

여러 가지 tool을 설치할 때 pip을 사용한다.

 

 

 

 

pip이란, Package Installer for Python으로 

 

즉, 인터넷으로부터 파이썬 관련 패키지를 다운로드하는 수단이다.

 

 

 

ex) 장고(2.2.5 버전)를 설치할 때

pip install Django==2.2.5

 

 

 

 

 

하지만 pip 용어를 사용하는 것보다

pipenv 용어를 사용하는 것이 유용할 때가 있다.

 

 

 

 

 

 

일단 NodeJS를 아는 사람을 기준으로 설명한다.


 

파이썬은 NodeJSReact에서 사용하는 NPM(패키지 관리자)가 없다.

 

 



따라서 Django를 포함한 여러 tool들을 PIP을 이용해서 설치하게 될 경우

Django가 Global(전역)에 설치되게 된다.

 

 

 

 

Global이라는 뜻은 컴퓨터 어디에서나 같은 버전의 Django를 사용한다는 의미가 되고,

 

 

나중에 다른 버전으로 Django 버전을 올리는 순간

이전 버전으로 제작된 프로젝트가 망가지게 된다.

 

 

 

 

 


NodeJS에 낯선 사람을 위한 설명

 

 

 

 

쉽게 말해서 pip을 사용해 tool을 설치하면

컴퓨터 전역에 설치가 된다.

 

 

 

그 말은 즉, 다른 프로그램을 개발할 때도

이전의 pip으로 설치한 버전이 적용된다는 말이다.

 

 

 

 

예를 들어 

pip install Django==2.2.5

 

위와 같이 pip을 사용해 2.2.5 버전의 장고를 설치했다고 가정하자.

 

 

그럼 프로그램 전역에 장고는 2.2.5 버전이다.

 

 

 

 

만약 3.0버전의 장고가 필요한 다른 프로그램을 개발할 때,

장고 버전을 3.0으로 업그레이드하면

이전 2.2.5 버전으로 개발된 프로그램은 망가질 수 있다.

 

 

 

 


 

 

하지만 pipenv를 사용한다면 

가상의 공간을 만든다.

 

 

일종의 bubble(거품) 이라고도 불리는 pipenv이다.

 

 

 

 

  Example )  


위 그림을 컴퓨터 전역이라고 하면 

각 거품(가상 환경)에 다른 버전의 tool(ex.Django 2.2.5 and Django 3.0)을 설치해준다.

 

 

그러면 tool끼리 충돌 없이 다른 공간에서 프로젝트를 개발할 수 있다.

 

 

 

 

 

 

 

따라서 프로젝트는 각각 다른 버전으로 운용되는 것이 바람직하기 때문에

Pipenv를 사용해서 설치해야만 하는 것이다

반응형

'Python > Python' 카테고리의 다른 글

[Python] python 삭제(30초컷)  (0) 2021.07.07
[Python] Python3 설치하기(파이썬 설치)  (0) 2021.05.06
[Python] 파이썬 pipenv 설치(Django)  (0) 2021.05.02