Logo 파이썬

파이썬 가상환경 — venv·conda·poetry

야옹이 | 05.08 | 조회 132 | 좋아요 0

파이썬 프로젝트를 여러 개 운영하면 각 프로젝트의 라이브러리 버전이 충돌하는 문제가 생기며, 가상환경이 이를 해결합니다.

venv·conda·poetry의 3가지 가상환경 도구를 알면 프로젝트 관리가 깔끔해집니다.


1. 가상환경의 필요성

프로젝트 A는 Django 3.0·프로젝트 B는 Django 4.0을 사용해야 할 때, 시스템 전역에 Django를 한 버전만 설치하면 충돌이 발생합니다.

가상환경은 프로젝트별로 별도의 패키지 공간을 만들어 충돌을 방지하며, 파이썬 개발의 필수 도구입니다.


2. venv — 파이썬 표준

venv는 파이썬 3.3+에 기본 포함된 가상환경 도구이며, "python3 -m venv 환경명"으로 생성합니다.

"source 환경명/bin/activate"로 활성화하고 "deactivate"로 비활성화하며, 가장 가볍고 표준적인 방법입니다.


3. conda — 데이터 과학 표준

conda는 Anaconda 배포판의 가상환경 도구이며, 파이썬뿐 아니라 R·C++ 같은 다른 언어 패키지도 관리합니다.

데이터 과학·머신러닝 분야에서 표준이며, 복잡한 의존성을 가진 라이브러리(PyTorch·OpenCV) 설치에 강점이 있습니다.


4. poetry — 현대적 의존성 관리

poetry는 가상환경 + 의존성 관리 + 패키지 배포를 모두 통합한 현대적 도구이며, 자바스크립트의 npm과 비슷한 역할을 합니다.

"poetry add 라이브러리"·"poetry install"로 깔끔하게 관리할 수 있고, requirements.txt보다 더 강력한 의존성 잠금 기능을 제공합니다.


5. 어떤 도구를 쓸까

간단한 프로젝트는 venv, 데이터 과학·머신러닝은 conda, 현대적 패키지 관리는 poetry가 권장됩니다.

한 도구를 선택해 일관되게 사용하는 것이 가장 중요하며, 여러 도구를 섞어 쓰면 오히려 혼란이 생깁니다.


파이썬 가상환경은 프로젝트 관리의 필수이며, venv·conda·poetry 중 본인 작업에 맞는 한 가지를 일관되게 사용하는 것이 효율적입니다.


fd975589-be2b-47be-98f0-a2017eb405f5.jpg

Photo by Rob Wingate on Unsplash

공유하기
목록보기

목록보기
신고하기

신고 사유를 선택해 주세요.