카테고리 없음

파이썬 가상환경 이란?

코딩하는logcat 2022. 12. 30. 00:58

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

 

예를 들어

pip install Pandas


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

 

하지만 프로젝트가 여러개일 때는 문제가 발생할 수 있다.

예로

 

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

결론적으로 설치파일의 버전은 하나인데 프로젝트마다 필요한 버전이 달라 문제가 생겨버린다.

 

 

이런 문제를 해결하기 위해 파이썬에서는 가상 환경(virtual environment)을 제공하는데, 가상 환경은 독립된 공간을 만들어주는 기능이다 가상 환경에서 pip로 패키지를 설치하면 가상 환경 폴더(디렉터리)의 Lib/site-packages 안에 패키지를 저장해준다.

특히 가상 환경에는 파이썬 실행 파일(인터프리터) 자체도 포함되므로 각 가상 환경 별로 다른 버전의 파이썬 인터프리터가 들어갈 수 있다.

 

가상환경의 종류에는

 

pipenv, venv, pyenv, conda 등이 있다

여러가지 가상환경 툴 설치 및 사용법 : https://devbull.xyz/python-create-environment/