본문 바로가기
Language/Python

Python 가상환경(venv) 만들기 & requirements.txt 관리하기

by CleanCoder 2023. 1. 29.

 

핵심적인 이유는 개발환경을 관리하고 이를 공유하고 협업하기 위한 방법이다.

혼자서 패키지 관리 또한 된다. 더이상 사용하지않을때 간단하게 삭제할 수도 있다.

누가봐도 장점만이 가득하다~!

 

우리는 무언가 패키지를 설치하기에 앞서 가장 먼저 가상환경을 구축한다.

 

Window와 Mac에서 구축하는 방법을 알아보자.

끝으로 팁으로 requirement.txt로 가상환경의 설치 패키지들을 관리하는 방법을 만들어볼것이다.

 

첫번째 Window 환경에서 가상환경 구축하기

1. 가상환경 만들기

virtualenv [name]

2. 가상환경 접속

.\[name]\Scripts\activate

3. 가상환경 접속 해제

deactivate

 

 

두번째 Mac 환경에서 가상환경 구축하기

1. 가상환경 만들기

python -m venv [name]

2. 가상환경 접속

source [name]/bin/activate

3. 가상환경 접속 해제

deactivate

 

가상환경 requirement.txt 만들기 & 설치하기

pip freeze > requirements.txt

 

pip freeze를 통해 가상환경에 설치된 정보들을 볼 수 있고 이를 requirements.txt로 텍스트 파일로 뽑아낼 수 있다.

이렇게 뽑아진 파일은 유용하게 다른 Python에서도 설치할 수 있다.

 

설치는 pip install 명령어를 통해 하면 된다.

 

requirements.txt 로 만들어진 파일 설치하기

pip install -r requirements.txt

 

이제 설치되는것을 보자

 

여기서 끝이 아니다.

 

1. --no-cache-dir

한가지 더 팁을 놓자면 --no-cache-dir 을 사용하는 것이 좋다. 이것은 캐시를 사용하지 않는다는 말인데, Stackoverflow로 알아보면 Python 종속성이 있는 경우 Docker 생성시에 이미지 크기를 줄일 수 있다 한다.

 

참고해보라

https://stackoverflow.com/questions/45594707/what-is-pips-no-cache-dir-good-for

 

What is pip's `--no-cache-dir` good for?

I've recently seen the --no-cache-dir being used in a Docker file. I've never seen that flag before and the help is not explaining it: --no-cache-dir Disable the cache. Question: Wh...

stackoverflow.com

 

2. --upgrade

만일 패키지 설치 버전이 명시가 안되어있는 requirement.txt라면, --upgrade를 통해 파이썬 패키지의 최신 버전을 설치할 수 있다.

 

이렇게 완성된 명령어

pip install --no-cache-dir --upgrade -r requirements.txt

 

 

 



 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

댓글