일단 기본적으로 가상환경이란 OS위에 다른 OS를 설치하는것인데...
무슨 말인가 하면 원래 기본적으로 하나의 컴퓨터는 하나의 Operating System => 운영체제만 사용할 수 있다.
그런데 이렇게 하나의 운영체제로 여러 프로젝트를 하려다 보면, 여러 에러사항이 발생할 수 있는데
-다른 운영체제가 필요하다던지
-프로젝트마다 사용하는 라이브러리가 달라 디벨롭 및 보수할 때 헷갈릴 수도 있고
-업데이트시 의존적인 패키지들이 서로 버전이 맞지않아 호환이 안되는 상황 발생 등등
-프로젝트 완성 후 배포전 서버에 배포시 서버에는 처음에는 아무것도 깔려 있지 않기 때문에 필요한 것들을 설치해 주어야 하는 상황 => 내가 무슨 패키지들을 다운했는지 정확히 알기가 묘연해진다.
-샌드박스 실행할 수 있고
샌드박스개념은 배포전 테스트 돌리는 패키지를 말하는것
참조:https://www.itworld.co.kr/news/90280
<참조> :https://windybay.net/post/13/
그것 외에도 다른 장점들이 있겠지만 그건 추후 더 알아보기로하고.
가상환경이란 내 본 컴퓨터의 hardware resource를 여러환경에 나눔분배하여 여러환경을 생성하여 용이하게 컴퓨터 자본을 활용하게 해주는 시스템이다.
먼저 Python을 사용할때는 프로젝트마다 가상환경을 따로 만들어 작업하게 될 것 이다.
파이썬에서의 virtualmachine 정의 : 프로젝트별 공구함
가상환경(virtual environment)은
같은 시스템에서 실행되는 다른 파이썬 응용 프로그램들의 동작에 영향을 주지 않기 위해, 파이썬 배포 패키지들을 설치하거나 업그레이드하는 것을 가능하게 하는 격리된 실행 환경 입니다