초보 개발자

Pipenv이란? Pipenv 설정 방법! 본문

Python/airbnb 클론

Pipenv이란? Pipenv 설정 방법!

taehyeki 2022. 1. 18. 19:57

먼저 pip란 package installer for python의 약자이다.

 

nodejs를 사용했을 때 npm으로 패키지를 설치하곤 했다.

이 때 npm -g 옵션을 주면 전역으로 설치되어버리는데, 전역으로 설치되어버리면 나중에 버전이 맞지않아 다른 것을 돌릴 때 충돌 가능성이 높다.

 

파이썬에서는 pip로 패키지를 다운로드를한다.  pip은 무조건 global로 설치를해버린다. 만약 django버전 2.2와 3을 쓰고싶은데 pip로 설치해버리면 둘 중 하나밖에 설치할 수 없게 되어버린다.

 

대부분의 경우에 프로젝트는 서로 다른 버전을 쓰게 된다. 그래서 모든게 다 global로 설치되는 걸 피해야 된다.

이러한 이유로 pipenv라는걸 설치해야 한다.

 

pipenv는 파이썬을 위한 npm + package.json같은거다. Pipfile이라는 걸 생성할텐데 이게 package.json과 같은 역할을 한다. 따라서 패키지를 설치할 때 pip를 쓰기보다는 pipenv를 쓰는 것이 좋다.

 

그래서 우리는 공간을 만들어 한 공간에는 django2.2버전을 깔고 다른 한 곳에는 django3.0버전을 깔면 된다.

pipenv는 우리에게 공간을 제공하는 녀석이다. 

Pipenv

공간 제공자, 파이썬 계의 npm! 그리고 윈도우에서 좋은 호환성을 가지고 있다.

pip install --user Pipenv를 실행시켜주자

전역으로 설치한 뒤 공간을 만들면 된다.

 

pip install pipenv

wsl로 하려고했는데.. 오류가 많이떠서 그냥 cmd로 해보려고한다.

더보기

결국 ubuntu 20.04 버전도 깔아서 (기존 18.04 ) 기본 셋팅하고 3시간넘게 싸운 끝에  wsl로 할 수 있었다.

먼저 ubuntu에는 파이썬3가 깔려있다. 파이썬2도 깔려있다고하는데  나의 경우에는 깔려있지 않았다.

별도로 파이썬3.8을 깔아주었다. 파이썬을 사용하려면 python3 python3.8과 같이 숫자도 같이 적어주어야 하는데, 

oh my zsh를 받고 커스터마징해준뒤 code ~/.zshrc에가서 alias python = python3.8 이렇게 해주면 python이라고만 적어도 python3.8이 실행이 된다.

 

아직 pip와 pip3의 차이점은 잘 모른다. pip는 python2에서쓰고 pip3은 파이썬3에서 사용한다고 하는데 그럼

3을쓰고있으니까 alias pip = pip3라고 해줘야하나,.?

 

아무튼 pip를 통해 다운을하면 zsh에 환경변수를 추가해주어야한다. 이를 해주지 않으면 다운로드를 해도 zsh는 인식을 못한다. 여기서 한참 오래 걸렸었다.

 

터미널에 pipenv라고 적고 이러한 화면이 뜨면 잘 된 것이다.

폴더 하나를 만들고 pipenv를 써서 environment(독립된 개발환경)를 만들어보자

위에서 이야기한 공간이다

pipenv --three # 파이썬3이라고 알려주어야 함

이렇게 된다면 성공적으로 잘 만들어 진 것이다.

 

Pipfile을 보면 airbnb-clone이라는 폴더안에 잘 만들어 진 것을 볼 수 있다.

폴더로 가보면 Pipfile을 볼 수 있다.

 

우리는 pipenv --three를 실행해서 공간을 하나 만든 상태이다. 

만들기는 했는데 아직 버블의 바깥에 있다. 버블 속에 들어가야 한다!!

 

이제 여기서 터미널을 켜고 pipenv shell을 실행시켜보자

pipenv shell은 기본적으로 나를 공간(가상환경)으로 데려다 주는 일을 한다.

그럼 이렇게 가상환경 속으로 들어온 우리를 발견할 수 있다. 이제 Django를 설치해보자

현재는 4.0.1버전까지 나왔는데 강의에선 2.2.5를 사용한다 이걸 입력해주자

pipenv install Django==2.2.5

(글에는 pipenv로 적고 터미널에서는 실수로 pip install로 적었다.. 다운이 완료되면 Pipfile에 packages에 설치된 패키지가 보일텐데 안보이길래 한참을 헤멨다..)

이렇게 잘 적힌 것 까지 확인할 수 있다.

여기까지가 Pipenv 환경구축이었다.!!

 

총 정리

  • 먼저 프로젝트를 위한 폴더를 만들어서 들어간다.
  • 그 폴더 안에서 pipenv --three 명령어를 실행한다. (가상환경 생성 근데 파이썬3를 곁들인..)
  • 그 다음 pipenv shell을 입력해서 그 공간(가상 환경) 속으로 들어간다.
  • 그리고 pipenv install을 써서 패키지들을 설치한다. ( pip아님!! )

'Python > airbnb 클론' 카테고리의 다른 글

first django startapp user  (0) 2022.01.20
Django app 계획 방법  (0) 2022.01.19
Django first migrate  (0) 2022.01.19
createsuperuser  (0) 2022.01.19
startproject 및 vscode 초기 셋팅 linter, formatter  (0) 2022.01.19