본문 바로가기
python

[ pyhton ] 파이썬 가상 환경이란?

by dorlback 2023. 8. 16.
반응형

🎯 파이썬 가상 환경이란?

파이썬 가상 환경은 시스템 전역 환경과 격리된 독립적인 환경을 제공합니다. 이를 통해 프로젝트별로 다른 패키지 버전을 사용할 수 있으며, 의존성 충돌을 방지할 수 있습니다.

예를들어 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

 

728x90

'python' 카테고리의 다른 글

[ python ] pipenv 명령어 모음!  (1) 2023.08.16
[ python ] pipenv 파이썬 가상환경 사용법  (0) 2023.08.16