인프런 커뮤니티 질문&답변

부농쿼카님의 프로필 이미지

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

01-01 기본 HTML, CSS, JavaScript 정적 웹페이지

파이썬 가상환경에 대해 질문이 있습니다.

24.07.15 23:21 작성

·

142

0

  • 안녕하세요 저는 현재 딥러닝 개발자로 일하면서 장고 강의를 듣고 있는 초보 개발자입니다.

  • 보통 딥러닝에서 파이썬 가상환경을 구성할 때 anaconda를 이용합니다. 그런데, 선생님께서는 venv를 사용하여 가상환경을 구성하시더라구요!

  • anaconda 가상환경과 venv가상환경의 차이가 뭔지 궁금합니다ㅎㅎ

  • 웹개발에서 venv 가상환경을 사용하는 이유가 있나요??

  • 항상 좋은 강의 올려주셔서 감사드립니다:)


인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

답변 2

0

이진석님의 프로필 이미지
이진석
지식공유자

2024. 07. 16. 07:25

안녕하세요.

파이썬 가상환경은 python3 기본에서 지원하는 venv, anaconda python에서 지원하는 conda environment, 그리고 라이브러리로 제공되는 virtualenv 등이 있습니다.

anaconda python을 사용하시는 경우, 가상환경을 conda environment 을 사용하시게 되는데요.

conda envornment은 팩키지 저장소를 https://anaconda.org/anaconda/repo 에서 팩키지를 다운받아 설치하게 되구요. venv 등은 https://pypi.org/ 에서 팩키지를 받아서 설치하게 됩니다. 팩키지 설치 시에 사용하는 저장소의 차이입니다.

머신러닝 관련 라이브러리들이 C/C++ 의존성이 있는 경우가 많아서, pypi 에 있는 라이브러리들이C/C++ 소스코드 형태로 배포가 되는 경우가 많아서, 특히 윈도우 머신에서 별도로 빌드 환경 구축이 필요한 경우가 있었는데요. 이때 anaconda 에서 빌드된 팩키지를 많이 제공해줘서, anaconda를 쓰는 이점이 있었습니다.

그런데 요즘에는 pypi 상의 라이브러리에서도 빌드된 팩키지들을 많이 제공하기에 크게 불편함이 없어졌습니다.

사용하시는 라이브러리의 배포판이 잘 제공된다면, 어떤 파이썬 배포판, 가상환경을 쓰셔도 괜찮습니다.

--

그리고 venv 는 파이썬 인터프리터 내에 종속되기에 다른 버전의 파이썬이 필요하면, 파이썬을 추가로 설치해줘야 하는데요. anaconda environment의 경우 conda create 시에 python 버전을 지정하여 conda environent 마다 다른 파이썬 버전을 사용하실 수 있다는 점이 다릅니다.

--

살펴보시고, 또 질문 남겨주세요.

화이팅입니다. :-)

0

인프런 AI 인턴님의 프로필 이미지

2024. 07. 15. 23:26

안녕하세요, 인프런 AI 인턴입니다.

유다현 님의 질문에 대해, 가상환경 구성 방법에서 anacondavenv의 차이점 및 웹 개발에서 venv를 사용하는 이유에 대한 내용을 공유드립니다.

가상환경의 필요성

가상환경은 프로젝트별로 독립된 파이썬 환경을 구성하여 라이브러리나 모듈의 버전 충돌을 방지하기 위해 사용됩니다. 이를 통해 다양한 프로젝트를 동시에 진행하면서도 각각의 의존성 관리를 수월하게 진행할 수 있습니다.

Anaconda 가상환경

Anaconda는 데이터 과학, 머신러닝, 딥러닝 등 과학 계산 분야에 특화된 가상환경 및 패키지 관리자입니다. Anaconda를 통해 생성된 가상환경은 대규모의 데이터 과학 및 분석 프로젝트에 필요한 다양한 라이브러리를 포함하고 있으멀로, 복잡한 의존성 관리를 효율적으로 수행할 수 있습니다.

venv 가상환경

venv는 표준 라이브러리에 포함되어 있는 가상환경 도구로, 파이썬 3.3 이상 버전에서 사용할 수 있습니다. 가벼움과 간결함을 장점으로 하며, 필요한 패키지만을 선택하여 설치할 수 있어, 웹 개발과 같이 특정 목적의 프로젝트에 적합합니다.

웹 개발에서 venv 사용 이유

웹 개발 프로젝트에서 venv를 사용하는 주된 이유는 프로젝트 요구사항에 맞춤화된 환경을 빠르고 간단하게 구성할 수 있기 때문입니다. Anaconda에 비해 상대적으로 가볍고, 웹 개발에 필요한 라이브러리만을 선택하여 설치할 수 있어, 개발 과정에서의 복잡성을 최소화할 수 있습니다. 또한, venv는 파이썬 표준 라이브러리에 포함되어 있어 별도의 설치 과정 없이 쉽게 사용할 수 있는 점도 장점입니다.

질문하신 배경과 상황에 정확히 일치하는 자료가 없어서 직접적인 관련 링크를 제공드리지 못한 점 양해 부탁드립니다. 혹시 아나콘다 가상환경 설정에 관한 구체적인 질문이 있으시다면, “mac에서 파이참 파이썬 인터프리터 설정 질문입니다.” 질문이 도움이 될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.