본문 바로가기
정리노트

파이썬의 가상환경과 종류

by 쁘니쁘나 2022. 12. 7.

 

파이썬에서 가상 환경이란 무엇일까?

 

프로젝트를 진행하다 보면 여러 모듈을 설치하게 된다.

이때, 각 모듈은 서로 의존성을 가지는 경우가 많아 글로벌하게 모듈을 설치하게 되면 여러 프로젝트를 관리하기가 어렵다.

만약, 프로젝트1 에서는 A, B, 프로젝트2 에서는 A, C 라는 모듈을 사용하는 상황이라 하자.

여기서 B는 A가 1.x 버전이고, C는 A가 2.x 버전이어야 사용이 가능하다면?

글로벌한 환경에 설치한 모듈은 이 두 프로젝트 모두를 관리할 수 없게 된다.

따라서, 각각의 프로젝트에 필요한 모듈을 별도의 로컬 환경에 설치하여 사용하는것을 가상 환경이라고 한다.

 

 

 

CalliA 핸드폰 태블릿 자바라 거치대 CF-350, 그레이, 1개깨끗한나라 순수시그니처 27m, 30롤, 1팩비에스엔 신타-6 프로틴 파우더 드링크 믹스 단백질 보충제, 1개, 2.27kg블루다이아몬드 아몬드 브리즈 뉴트리플러스 프로틴, 190ml, 24개tft 더단백 드링크 초코, 250ml, 18개

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

그럼 이제 가상 환경의 종류 중 pyenv, venv, poetry에 대해 알아보자.

 

pyenv

  • 비표준 라이브러리
  • 파이썬 버전별로 환경 생성이 가능한 라이브러리
  • Windows 를 지원하지 않는다.

venv

  • 표준 라이브러리
  • Python 3.3 부터 사용 가능
  • 비표준 라이브러리 중 가장 많이 사용하는 virtualenv의 경량화 모듈이라고 생각하면 됨.

poetry

  • 의존성 정보를 모두 명령어로 기록하고 관리 가능
  • 기존 파이썬 패키지 관리 툴에서 볼 수 없었던, build와 publish 지원
  • 프로젝트를 만들고 저장소에 배포까지 하는 좋은 도구
  • poetry.lock을 사용하여 프로젝트의 의존성을 다른 환경에서도 동일하게 유지 가능

 

이 외에도 아나콘다를 통해 가상 환경을 구축하는 방법도 있다.

아나콘다를 통해 가상 환경을 구축하면 전역으로 가상환경을 여러개 구축하고 각 프로젝트에서 해당 가상환경을 선택할 수 있다 하니 참고하자.

 

 

 


Ref

https://homubee.tistory.com/38

https://blog.gyus.me/2020/introduce-poetry/

댓글