본문 바로가기

Skill Sets/Python

Python 내 가상환경의 필요성(Virtual Environments)

SMALL

안녕하세요! 데코입니다!!

오늘은 가상환경이 왜 필요한지! 가상환경 필요성에 대한 간단한 글을 적어보려고 해요!

현업에 계신 분들은 “에이 뭐야…!” 라고 하실 수 있으나
파이썬과 데이터 분석을 처음 접하는 분들은 “가상환경이 왜 필요하지…?”라는
생각이 들 수 있어 이렇게 포스팅합니다!
(제가 그랬었거든요…!)

가상환경이란?

여기서 말하는 가상환경은 독립적으로 구성한 파이썬의 환경을 의미해요!
생성한 가상환경마다 버전과 패키지를 다르게 설치할 수 있어요!

가상환경을 만드는 이유는 진행하는 프로젝트에서 필요로 하는 버전과 패키지만을 설치하여 구성하기 위해서입니다!

데이터 분석을 처음 접하는 분들은 아나콘다와 파이썬을 설치하고 가상환경 없이 사용할 텐데요!
이렇게 사용하면 설치한 패키지들은 전부 “Base”에 설치가 됩니다!
본인의 컴퓨터에서 연습할 때에는 Base에 이용해도 문제가 발생하지 않지만!
2개 이상의 프로젝트를 실행할 때는 요구하는 파이썬 버전 혹은 패키지 버전이 다를 수 있어서 가상환경을 구축해줘요!

프로젝트에서 요구하는 버전에 맞게 가상환경을 구축

그림을 보면 우리가 이용하는 Base(python 3.9) 그대로 A 프로젝트를 수행해도 되지만,
Python 버전이 달라서 패키지들을 설치할 때 충돌이 일어날 수 있어요!

따라서 요구하는 Python3.8 버전의 "Project_A"라는 가상환경을 구성하고
필요한 패키지들을 설치하여 이용하면 충돌 없이 이용할 수 있습니다!

“데코“가 현업에서 이용하는 가상환경

저는 주로 아나콘다를 이용해서 가상환경을 만들어요!
진행하고 있는 프로젝트별 가상환경을 만들고 해당하는 패키지들을 설치한 후에 프로젝트를 진행해요!

이렇게 만들면 다른 환경들과 독립적이기 때문에 버전 충돌이 안 되는 것은 당연하고!
추후에 프로젝트가 끝난 후에도 가상환경에 있는 패키지들을 그대로 저장만 한다면,
다른 분석가들도 그대로 환경을 구성하고 실습을 할 수 있는 것도 장점이라고 생각해요!

구축한 가상환경의 패키지 정보를 추출

'requirements.txt 파일'설치된 모든 패키지와 버전 정보를 가지고 있는 파일이에요!

그림을 보면 알 수 있듯이
'Project_A'라는 가상환경에서 이용한 패키지 정보를 모두 담은 'requirements_A.txt' 파일을 생성할 수 있어요!
마찬가지로
'Project_B'라는 가상환경에서 이용한 패키지 정보를 모두 담은 'requirements_B.txt' 파일을 생성할 수 있고요!

파이썬 버전과 requirements.txt 파일을 가지고 있다면
어디서든 동일한 환경을 만들어서 같은 분석 결과를 도출할 수 있어요!

Python에서 가상환경을 왜 구성하는지 이해가 가셨나요?
요약하면 프로젝트별 버전 및 패키지를 구성하여 관리하기 위하여 가상환경을 구축합니다!

다음 포스팅은 이러한 가상환경을 만드는 방법을 소개해드릴게요!

잘 이해가 안 가는 부분은 언제든지 댓글로 남겨주세요!
빠르게 궁금증을 해결해드릴게요!

공감과 댓글은 저에게 큰 힘이 된답니다!
감사합니다 :)

LIST