파이썬에서 가상 환경이란 무엇일까?
프로젝트를 진행하다 보면 여러 모듈을 설치하게 된다.
이때, 각 모듈은 서로 의존성을 가지는 경우가 많아 글로벌하게 모듈을 설치하게 되면 여러 프로젝트를 관리하기가 어렵다.
만약, 프로젝트1 에서는 A, B, 프로젝트2 에서는 A, C 라는 모듈을 사용하는 상황이라 하자.
여기서 B는 A가 1.x 버전이고, C는 A가 2.x 버전이어야 사용이 가능하다면?
글로벌한 환경에 설치한 모듈은 이 두 프로젝트 모두를 관리할 수 없게 된다.
따라서, 각각의 프로젝트에 필요한 모듈을 별도의 로컬 환경에 설치하여 사용하는것을 가상 환경이라고 한다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
그럼 이제 가상 환경의 종류 중 pyenv, venv, poetry에 대해 알아보자.
pyenv
- 비표준 라이브러리
- 파이썬 버전별로 환경 생성이 가능한 라이브러리
- Windows 를 지원하지 않는다.
venv
- 표준 라이브러리
- Python 3.3 부터 사용 가능
- 비표준 라이브러리 중 가장 많이 사용하는 virtualenv의 경량화 모듈이라고 생각하면 됨.
poetry
- 의존성 정보를 모두 명령어로 기록하고 관리 가능
- 기존 파이썬 패키지 관리 툴에서 볼 수 없었던, build와 publish 지원
- 프로젝트를 만들고 저장소에 배포까지 하는 좋은 도구
- poetry.lock을 사용하여 프로젝트의 의존성을 다른 환경에서도 동일하게 유지 가능
이 외에도 아나콘다를 통해 가상 환경을 구축하는 방법도 있다.
아나콘다를 통해 가상 환경을 구축하면 전역으로 가상환경을 여러개 구축하고 각 프로젝트에서 해당 가상환경을 선택할 수 있다 하니 참고하자.
Ref
'정리노트' 카테고리의 다른 글
Python 가상환경 생성, 활성화, 비활성화, 삭제 (0) | 2022.12.07 |
---|---|
Python 웹 프레임워크 (Django, Flask, FastAPI) (0) | 2022.12.06 |
intelliJ의 폴더들에 대해 (0) | 2020.08.07 |
IntelliJ에서 jar 파일 생성 (0) | 2020.06.28 |
댓글