본문 바로가기
개발일지/Python

Python - 가상환경을 사용하는 이유

by 다니엘의 개발 이야기 2023. 1. 19.
320x100

#1 가상환경의 종류

 

나의 경우에는 python 가상환경, anaconda 가상환경

이렇게 2가지만 접해보았다. 즉, python 가상환경이 있다는 말은 추측컨데, 각 사용하는 주요 언어마다 가상환경이 있을것으로 생각된다.

 

나도 아직 온전히 "일반 파이썬 가상환경"과 "아나콘다 가상환경"에 있어서

어떤 차이가 있는지 정확하게 알지 못한다.

다만, 보통의 경우에는 "일반 파이썬 가상환경"이 pip install하기에 무리가 없으며

"아나콘다 가상환경"이 pip 설치시에는 conda install ~로 하게되지만

파이썬을 활용한 "무언가"가 더 좋기에 아나콘다 가상환경을 사용하는 것으로 알고있다.


#2 가상환경을 사용하는 이유

 

가상환경을 사용하는 이유를 개발을 시작하는 초창기에는 전~혀 깨닫지도 못했고, 사용하기에도 너무 버거운 영역이였다.

어쨌든 설치되고 뚝딱뚝딱 진행되면 되니깐.

근데, 같은 컴퓨터로 그 "뚝딱뚝딱"이 누적되다보면 문제는 거기서 발생되었다.

 

나의 경우에는 초창기 개발을 배우기 위해 강의든 책이든 여태까지 수십명의 저자분들, 강사분들과 인터넷, 책으로 만나봤을것이다.

그 과정에 있어서 초기 셋팅은 언제나 존재했다.

그런 따라하는 과정이 누적되기 시작하면서 어느샌가부터 강사님과 다른 사람들은 잘 사용되는데, 나는 사용이 안되는 기현상이 벌어졌다.

또다시 셋팅하고 고치고 원인 찾느라 시간 다날리고 아주 곤욕이였다.

 

정점에 달한때는 python만해도 수십개 이상의 환경에서, 수십개 이상의 버전으로 다운되었고

이것까진 그렇다 쳐도

java 버전이 꼬이니깐 답도 안나왔다; 이 java 버전이 꼬임으로 인해서 나는 데이터 엔지니어가 되기위한 강의의 시작에서 설치도 못해서 좌절될 수밖에없었고, 지금 생각해보면 원인과 해결방법은 그리 어렵지 않았지만, 이런 간단한 설치와 환경설정이 안된다는 사실이 너무나도 충격적으로 다가올 수 밖에 없었다.

 

이 후로 명확하게 알게된건 아니지만, "가상환경"이라는 것은 앞선 나의 문제와 같은 이유때문에 사용한다는 사실을 어느새 알게 되었다.

나의 경우에 가장 큰 문제는 java였지만, 사실 자잘자잘하게 버전을 따지자면 시간이 흐를수록, 실력이 늘어갈수록 더많이 꼬일테니깐

그래서 나는 가상환경을 만들어서 작업하기를 주저하지 않고, 이제는 새로 배울때 누가 알려주지를 않아도 가상환경부터 만들고 시작한다.


#3 여담

 

여담이지만

저렇게 가상환경 처리해놓고 지내면 시작부터 끝까지 아~~~주 편안하다.

파이썬의 경우

python3 -m venv <가상환경이름>

혹은

"아나콘다 명령어"편을 통해 아나콘다 형식의 가상환경을 만드는 것도 방법이다.

 

이렇게 시작하고, 작업이 마무리 되면 터미널에

pip freeze > requirements.txt

라고 입력하게 되면, 일일이 나의 환경을 적고 적을 필요없이

명령문 원큐에 requirements.txt이라는 이름의 파일안에

내가 어떤걸 어떤 버전으로 설치했는지 낱낱히 나올것이니 정말 편하게 작업할 수 있다.

(추후 docker를 배울때 기초도 아니고 시작을 위한 작업 명령이다.)

300x250