Виртуальное окружение

Использование Виртуального Окружения заключается в тестировании кода 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 в 10-100 раз быстрее, чем pip, и обеспечивает унифицированное управление пакетами, создание виртуальных окружений и управление версиями 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 и зависимостями с исключительной скоростью и удобством.

Соответствующие ссылки