🎯 파이썬 가상 환경이란?
파이썬 가상 환경은 시스템 전역 환경과 격리된 독립적인 환경을 제공합니다. 이를 통해 프로젝트별로 다른 패키지 버전을 사용할 수 있으며, 의존성 충돌을 방지할 수 있습니다.
예를들어 my-app 이란 프로젝트와 , my-web 이란 2개의 파이썬 프로젝트를 진행 한다고 할때, my-app 는 경우 flask , my-web은 django 를 사용하여 개발 하려고 합니다. 그럼 2개의 프로젝트의 패키지와 라이브러리 등을 global로 install 하는게 아니라, 해당 프로젝트 내부에 가상 환경을 설정 하고 서로의 프로젝트에서 각각의 패키지와 라이브러리 를 설치 하는것 입니다. 이렇게 함으로 다른 환경에서 개발을 하거나 다른 개발자들과 같이 개발을 할때 패키지 충돌 및 누락 되는 일을 미연에 방지 할 수 있습니다.
파이썬 가상 환경 사용의 이유
1. 의존성 격리 : 프로젝트마다 필요한 라이브러리와 버전을 분리해서 관리할 수 있습니다.
2. 버전 관리 : 특정 버전의 패키지를 프로젝트별로 다르게 사용할 수 있으며, 이는 버전 충돌 문제를 해결해줍니다.
3. 개발 편의성 : 가상 환경을 사용하면 시스템 전역 환경에 영향을 주지 않고 필요한 패키지를 자유롭게 설치하고 제거할 수 있습니다.
- 표준 라이브러리로 제공되므로 별도의 설치가 필요하지 않습니다.
- 사용이 간단하며 초보자에게 적합합니다.
1. venv
장점
- 표준 라이브러리로 제공되므로 별도의 설치가 필요하지 않습니다.
- 사용이 간단하며 초보자에게 적합합니다.
단점
- 시스템 전역 파이썬 버전에 의존합니다.
- 몇몇 OS에서는 문제가 발생할 수 있습니다.
2. virtualenv
장점
- 더 다양한 기능을 제공합니다.
- 다양한 파이썬 버전과 호환됩니다.
단점
- 설치가 필요합니다.
- 초보자에게는 다소 복잡할 수 있습니다.
3. conda
장점
- 데이터 과학 패키지를 포함한 복잡한 의존성을 잘 관리합니다.
- 다양한 OS에서 잘 동작합니다.
단점
- 기존 파이썬 생태계와는 약간 다른 관리 방식입니다.
- 무거울 수 있습니다.
4. pipenv
장점
- Pipfile과 Pipfile.lock을 통해 의존성 관리가 용이합니다.
- 개발 및 배포 모두에 유용합니다.
단점
- 다른 가상 환경 도구에 비해 느릴 수 있습니다.
- 초보자에게는 다소 어려울 수 있습니다
🎉 결론
django 개발을 주로 하는데 pipenv 가 사용하기 의존성 관리가 워낙 편해서 pipenv 를 사용합니다.
파이썬 가상 환경은 개발자에게 프로젝트 관리를 단순화하고 효율화하는 중요한 도구입니다. 자신의 프로젝트와 요구사항에 맞는 가상 환경 도구를 선택하면, 개발 프로세스가 더욱 원활해질 것입니다.
pipenv 에 대한 내용은 아래 링크에서 확인 해주시면 감사하겠습니다!
[ python ] pipenv 파이썬 가상환경 사용법
안녕하세요 돌백 입니다! 저번에 파이썬 가상환경 종류들에 대해 장단점을 소개 했었는데요 https://dorlback.tistory.com/19 [ pyhton ] 파이썬 가상 환경이란? 🎯 파이썬 가상 환경이란? 파이썬 가상 환경
dorlback.tistory.com
'python' 카테고리의 다른 글
[ python ] pipenv 명령어 모음! (1) | 2023.08.16 |
---|---|
[ python ] pipenv 파이썬 가상환경 사용법 (0) | 2023.08.16 |