본문 바로가기
coding 📟/python 💻

[Python] 파이썬 가상환경이란?

by 고돌한 데이터 사이언스 2022. 5. 13.
반응형

들어가기전에..


파이썬을 설치하면 기본적으로 pip 패키지 매니저가 존재하고, 이를 이용해 프로젝트에 필요한 패키지를 설치할 수 있다.
이때 pip로 설치한 패키지는 전역으로 설치가 되어 모든 .py 스크립트가 제약 없이 사용이 가능하다.

예를 들어 

pip install Pandas


명령어를 이용해 모듈을 설치했다면 파이썬 설치 폴더의 Lib/site-packager안에 저장되어
모든 파이썬 스크립트는 Pandas 모듈을 사용할 수 있게 된다.

이렇게 전역으로 패키지를 설치할 경우 두 가지 case를 살펴보자

A. 프로젝트가 1개일 때
프로젝트가 1개일 시 전역으로 패기지를 설치할 경우 크게 문제 될 것이 없다.

B. 프로젝트가 여러 개일때
반면에 프로젝트가 여러개일 때는 문제가 발생할 수 있는데 이를 살펴보자

예로

pip 전역설치

  1. 필요에 의해 명령어를 통해 tensorflow 라이브러리를 전역으로 설치하였고, A 프로젝트를 완료하였다.
  2. B라는 새로운 프로젝트를 개설하였고 이에 따른 다른 라이브러리를 설치 시 tensorflow 2.xx 버전이 필요해 업데이트를 진행하였다.
  3. 유지보수를 위해 이전에 완료한 A 프로젝트를 다시 구동하였는데 에러가 난다.
  4. 알고 보니 이전 A 프로젝트는 tensorflow 2.xx 버전과 호환이 안돼 다시 버전을 낮춰야 하는 상황이 발생한다.
  5.  A 프로젝트 B 프로젝트를 왔다 갔다 하며 진행 시 tensorflow 버전을 항상 바꿔줘야 하는 난감한 상황이 발생하였다.

이러한 난감한 상황을 해결할 수 있는 방법이 가상환경이다.

가상환경은 각자 독립된 개발환경을 제공해주기 때문에 이런 패키지 호환에 따른 트러블 슈팅을 해결할 수 있다.

자 그럼 가상환경에 대해 자세히 알아보자

 

가상환경이란?



독립적인 파이썬 실행 환경을 의미한다.

가상환경을 생성하면 각각의 가상환경은 다른 환경에 영향을 미치지 않아, 각자 다른 종류와 버전의 패키지를 가질 수 있다.
아래의 그림을 보고 이해해보자.


앞선 pip 전역설치와 달리 가상환경을 이용하면
위 그림과 같이 각 가상환경 별로 파이썬 인터프리터 자체가 포함되어있으므로, 독자적인 패키지 설치가 가능하다.
따라서 스크립트를 실행 시 원래 설치된 파이썬 인터프리터가 아닌 가상환경의 파이썬 인터프리터를 사용함으로 독자적인 패키지 사용이 가능해 트러블 슈팅을 방지할 수 있다.

 

정리하며...


이러한 가상환경을 관리하기 툴은 여러가지가 있다.

예를들자면 pyenv, pipenv, virtualenv, conda 등이 있다.

차후에 하나하나 정리 해 볼 계획이다.

 

pyenv

2022.05.13 - [coding 📟/python 💻] - [Python] 가상환경 pyenv

 

[Python] 가상환경 pyenv

이전에 파이썬 가상환경에 대해 알아보았다. 2022.05.13 - [coding 📟/python 💻] - [Python] 파이썬 가상환경이란? [Python] 파이썬 가상환경이란? 들어가기전에.. 파이썬을 설치하면 기본적으로 pip 

kodorricoding.tistory.com

2022.05.13 - [coding 📟/python 💻] - [Python] 가상환경 pyenv windows 윈도우 설치

 

[Python] 가상환경 pyenv windows 윈도우 설치

이전 글에서 가상환경과 그중에서도 pyenv에 대해 살펴보았다. 2022.05.13 - [coding 📟/python 💻] - [Python] 파이썬 가상환경이란? [Python] 파이썬 가상환경이란? 들어가기전에.. 파이썬을 설치하면 기본

kodorricoding.tistory.com

 

반응형

댓글