가상 환경

가상 환경의 사용 목적은 캡슐화된 환경에서 python 코드를 테스트하고, 단 하나의 프로젝트에만 사용할 수 있는 라이브러리로 기본 Python 설치를 채우는 것을 피하기 위함입니다.

venv

venv는 Python 3.3 이상에서 가상 환경을 생성하기 위한 표준 라이브러리 모듈입니다. Python 에 내장되어 있어 별도의 설치가 필요하지 않습니다.

  1. 가상 환경 생성
python -m venv venv

또는 일부 시스템에서는:

python3 -m venv venv

이것은 현재 폴더에 가상 환경을 포함하는 venv 디렉토리를 생성합니다.

퀴즈

로그인하여 이 퀴즈에 답하고 학습 진행 상황을 추적하세요

venv를 사용하여 가상 환경을 만드는 데 사용되는 명령어는 무엇입니까?
A. python -m venv venv
B. python create venv
C. venv create
D. python venv new
  1. 가상 환경 활성화

Linux/macOS의 경우:

source venv/bin/activate

Windows 의 경우:

venv\Scripts\activate

활성화되면 명령 프롬프트 시작 부분에 (venv)가 표시되어 가상 환경이 활성화되었음을 나타냅니다.

퀴즈

로그인하여 이 퀴즈에 답하고 학습 진행 상황을 추적하세요

Linux/macOS에서 가상 환경을 활성화하는 방법은 무엇입니까?
A. activate venv
B. source venv/bin/activate
C. venv activate
D. python venv activate
  1. 패키지 설치

가상 환경이 활성화된 상태에서 pip 을 사용하여 패키지를 설치합니다:

pip install package_name

설치된 패키지는 이 가상 환경에만 국한됩니다.

  1. 가상 환경 비활성화

가상 환경을 종료하려면:

deactivate

명령 프롬프트에서 (venv) 접두사가 사라집니다.

퀴즈

로그인하여 이 퀴즈에 답하고 학습 진행 상황을 추적하세요

가상 환경을 사용하는 주된 목적은 무엇입니까?
A. 프로젝트 종속성을 격리하고 기본 Python 설치가 채워지는 것을 방지하기 위함
B. Python 실행 속도를 높이기 위함
C. Python 코드를 암호화하기 위함
D. Python 을 기계어 코드로 컴파일하기 위함

virtualenv

  1. virtualenv 설치
pip install virtualenv
  1. virtualenvwrapper-win 설치 (Windows)
pip install virtualenvwrapper-win

사용법:

  1. HelloWorld라는 가상 환경 생성
mkvirtualenv HelloWorld

이제 설치하는 모든 것은 이 프로젝트에만 국한됩니다. 그리고 이 환경에 연결하는 프로젝트에서 사용할 수 있습니다.

  1. 프로젝트 디렉토리 설정

가상 환경을 현재 작업 디렉토리와 연결하려면 단순히 다음을 입력합니다:

setprojectdir .
  1. 비활성화

명령줄에서 다른 작업으로 이동하려면 deactivate를 입력하여 환경을 비활성화합니다.

deactivate

괄호가 사라지는 것을 확인하십시오.

  1. Workon

명령 프롬프트를 열고 workon HelloWorld를 입력하여 환경을 활성화하고 프로젝트 루트 폴더로 이동합니다.

workon HelloWorld

Poetry

Poetry 웹사이트에서 발췌

Poetry 는 Python 에서 종속성 관리 및 패키징을 위한 도구입니다. 프로젝트가 의존하는 라이브러리를 선언할 수 있게 해주며, 이를 관리 (설치/업데이트) 해 줍니다.

  1. Poetry 설치
pip install --user poetry
  1. 새 프로젝트 생성
poetry new my-project

이것은 my-project 디렉토리를 생성합니다:

my-project
├── pyproject.toml
├── README.rst
├── poetry_demo
│   └── __init__.py
└── tests
    ├── __init__.py
    └── test_poetry_demo.py

pyproject.toml 파일이 프로젝트와 그 종속성을 조정합니다:

[tool.poetry]
name = "my-project"
version = "0.1.0"
description = ""
authors = ["your name <your@mail.com>"]

[tool.poetry.dependencies]
python = "*"

[tool.poetry.dev-dependencies]
pytest = "^3.4"
  1. 패키지

프로젝트에 종속성을 추가하려면 tool.poetry.dependencies 섹션에 지정할 수 있습니다:

[tool.poetry.dependencies]
pendulum = "^1.4"

또한, pyproject.toml 파일을 수동으로 수정하는 대신, add 명령을 사용하여 적절한 버전 제약 조건을 자동으로 찾을 수 있습니다.

poetry add pendulum

pyproject.toml 에 나열된 종속성을 설치하려면:

poetry install

종속성을 제거하려면:

poetry remove pendulum

더 많은 정보를 원하시면 문서를 확인하거나 다음을 읽어보십시오:

Pipenv

Pipenv 웹사이트에서 발췌

Pipenv 는 모든 패키징 세계 (bundler, composer, npm, cargo, yarn 등) 의 최고를 Python 세계로 가져오는 것을 목표로 하는 도구입니다. Windows 는 우리 세계에서 일류 시민입니다.

  1. pipenv 설치
pip install pipenv
  1. 프로젝트 디렉토리로 이동하여 프로젝트에 필요한 패키지 설치
cd my_project
pipenv install <package>

Pipenv 는 패키지를 설치하고 프로젝트 디렉토리에 Pipfile 을 생성합니다. Pipfile 은 프로젝트에 필요한 종속성을 추적하는 데 사용되므로 다시 설치해야 할 경우 사용할 수 있습니다.

  1. 패키지 제거
pipenv uninstall <package>
  1. Python 프로젝트와 연결된 가상 환경 활성화
pipenv shell
  1. 가상 환경 종료
exit

docs.pipenv.org에서 더 많은 정보와 비디오를 찾아보십시오.

Anaconda

Anaconda는 Python 패키지를 관리하는 또 다른 인기 있는 도구입니다.

패키지, 노트북, 프로젝트 및 환경이 공유되는 곳입니다. 무료 공개 conda 패키지 호스팅을 위한 귀하의 장소입니다.

사용법:

  1. 가상 환경 생성
conda create -n HelloWorld
  1. 가상 환경을 사용하려면 다음을 통해 활성화합니다:
conda activate HelloWorld

이제 설치되는 모든 것은 HelloWorld 프로젝트에만 국한됩니다.

  1. 가상 환경 종료
conda deactivate

UV

UV 문서에서 발췌

UV 는 매우 빠른 Python 패키지 설치 및 해결 도구로, pip 및 pip-tools 워크플로우를 대체하기 위해 설계되었습니다. UV 는 pip 보다 10~100 배 빠르며 통합된 패키지 관리, 가상 환경 생성 및 Python 버전 관리를 제공합니다.

  1. UV 설치
# curl 사용 (Linux/macOS)
curl -LsSf https://astral.sh/uv/install.sh | sh

# pip 또는 pipx 사용
pip install uv
  1. 가상 환경을 사용하여 새 프로젝트 생성
uv init my-project
cd my-project
  1. 종속성 추가
uv add requests
  1. 프로젝트 환경에서 명령어 실행
uv run python script.py
  1. 가상 환경 수동 활성화 (선택 사항)
source .venv/bin/activate  # Linux/macOS
.venv\Scripts\activate     # Windows

UV 는 탁월한 속도와 편의성으로 가상 환경, Python 버전 및 종속성을 자동으로 관리합니다.

관련 링크