Python

Python 가상 환경 (virtual environment)

Shining Future 2024. 10. 21. 13:29

Python 가상 환경의 주요 개념

  • Python 가상 환경 (virtual environment)은 특정 프로젝트에서 사용하는 Python 버전과 패키지들을 독립적으로 관리할 수 있도록 해주는 기능입니다. 이를 통해 서로 다른 프로젝트가 각각의 요구 사항에 맞는 패키지 버전과 Python 버전을 독립적으로 사용할 수 있게 합니다. 이는 전역 환경과의 충돌을 방지하고, 의존성 문제를 쉽게 해결할 수 있도록 합니다.

Python 가상 환경의 필요성

  • 의존성 관리: 서로 다른 프로젝트가 다른 패키지 또는 다른 패키지 버전을 요구할 때, 가상 환경을 사용하여 각 프로젝트마다 독립적인 의존성을 관리할 수 있습니다.
  • 전역 환경 보호: 전역 환경에 패키지를 설치하지 않고 프로젝트 내부에서만 필요한 패키지들을 관리함으로써, 시스템 전역 환경을 보호할 수 있습니다.
  • 다양한 Python 버전 사용: 가상 환경을 사용하면, 각 프로젝트마다 다른 Python 버전을 사용할 수 있어 프로젝트 호환성을 관리할 수 있습니다.

Python 가상 환경 사용의 주요 장점

  • 독립된 환경 제공: 각 프로젝트마다 별도의 Python 실행 환경을 제공하여, 프로젝트마다 다른 패키지와 Python 버전을 독립적으로 사용할 수 있습니다.
  • 의존성 충돌 방지: 프로젝트별로 패키지를 격리하여 의존성 충돌을 방지할 수 있습니다.
  • 다양한 Python 버전 지원: 프로젝트마다 다른 Python 버전을 손쉽게 사용할 수 있습니다.
  • 전역 환경 보호: 전역 Python 환경을 오염시키지 않고, 프로젝트 내부에서만 필요한 패키지들을 관리합니다.
  • 편리한 패키지 관리: 각 가상 환경에서 pip 또는 Conda를 통해 패키지를 관리할 수 있습니다.
  • 간편한 생성 및 삭제: 몇 가지 명령어만으로 가상 환경을 쉽게 만들고 제거할 수 있습니다.
  • 배포 및 협업 유리: 가상 환경에서 패키지 목록을 관리하여, 동일한 개발 환경을 다른 개발자가 쉽게 재현할 수 있습니다.

Python에서 사용할 수 있는 가상 환경 도구

  • venv: Python 표준 라이브러리에서 제공하는 가상 환경 도구로, Python 3.3 이상에서 기본적으로 제공됩니다.
    명령어: python -m venv myenv
  • Conda: Anaconda 배포판에서 사용되는 가상 환경 관리 도구로, Python 외에도 다양한 언어와 패키지를 관리할 수 있습니다.
    명령어: conda create --name myenv python=3.8
  • virtualenv: Python 2와 3 모두에서 사용할 수 있으며, venv의 확장된 버전으로 다양한 Python 버전을 지원합니다.
    명령어: virtualenv myenv
  • pipenv: 패키지와 가상 환경을 함께 관리하는 도구로, Python 프로젝트의 패키지 의존성을 명확하게 관리할 수 있습니다.
    명령어: pipenv install requests
  • pyenv: Python 버전 관리 도구로, 가상 환경 관리 플러그인인 pyenv-virtualenv와 함께 사용할 수 있습니다.
    명령어: pyenv virtualenv 3.8.8 myenv
  • Poetry: 패키지 배포와 가상 환경 관리에 초점을 맞춘 도구로, 패키지 종속성 관리 및 배포에 최적화되어 있습니다.
    명령어: poetry install
  • virtualenvwrapper: virtualenv를 쉽게 관리하기 위한 도구로, 여러 가상 환경을 효율적으로 전환하고 관리할 수 있습니다.
    명령어: mkvirtualenv myenv

Anaconda, PyCharm, Visual Studio Code에서 Python 가상 환경 구현 방법

Anaconda3에서 Python 가상 환경 사용

  • Anaconda3는 주로 Conda를 사용하여 가상 환경을 관리하지만, venv도 사용할 수 있습니다.
  • Conda 명령어를 사용하여 가상 환경을 생성하고 관리합니다.
  • Conda 가상 환경 생성:
    conda create --name myenv python=3.8
    conda activate myenv
  • venv 가상 환경 사용: Anaconda3에서도 Python 표준 라이브러리의 venv를 사용할 수 있습니다.
    python -m venv myenv

PyCharm에서 Python 가상 환경 사용

  • PyCharm은 venv와 Conda 가상 환경을 모두 지원하며, 프로젝트 생성 시 자동으로 가상 환경을 설정할 수 있습니다.
  • 프로젝트를 생성할 때 venv 또는 Conda를 선택하여 가상 환경을 설정하거나, 이미 생성된 가상 환경을 연결할 수 있습니다.
  • New Project 생성 시:
    Interpreter type에서 Project venv(venv) 또는 Custom environment(Conda)를 선택하여 가상 환경을 설정할 수 있습니다.
    GUI를 통해 가상 환경을 관리할 수 있으며, 별도의 명령어 없이 자동으로 설정됩니다.

Visual Studio Code에서 Python 가상 환경 사용

  • VS Code는 경량의 코드 편집기로, venv와 Conda를 모두 지원하지만 수동 설정이 필요합니다.
  • Python 확장을 설치한 후, 터미널을 통해 가상 환경을 생성하고, 이를 Python 인터프리터로 선택하여 사용할 수 있습니다.
  • Python 인터프리터 설정:
    터미널에서 가상 환경을 생성한 후, Command Palette에서 "Python: Select Interpreter"를 선택하여 가상 환경을 설정합니다.
  • 가상 환경 생성 예시:
    python -m venv myenv
    또는
    conda create --name myenv python=3.8

'Python' 카테고리의 다른 글

Project, Workspace  (0) 2024.10.21
VS Code 설치  (1) 2024.10.21
PyCharm 설치 (3)  (0) 2024.10.21
PyCharm 설치 (2)  (0) 2024.10.21
PyCharm 설치 (1)  (0) 2024.10.21