Виртуальное окружение
Использование Виртуального Окружения заключается в тестировании кода Python в инкапсулированных средах, а также в избежании заполнения базовой установки Python библиотеками, которые мы можем использовать только для одного проекта.
venv
venv — это стандартный библиотечный модуль для создания виртуальных окружений в Python 3.3+. Он встроен в Python, поэтому установка не требуется.
- Создание виртуального окружения
python -m venv venv
Или в некоторых системах:
python3 -m venv venv
Это создает каталог venv в вашей текущей папке, содержащий виртуальное окружение.
Войдите в систему, чтобы ответить на эту викторину и отслеживать свой прогресс обучения
venv?python -m venv venvpython create venvvenv createpython venv new- Активация виртуального окружения
В Linux/macOS:
source venv/bin/activate
В Windows:
venv\Scripts\activate
После активации в начале вашей командной строки появится (venv), указывающее на то, что виртуальное окружение активно.
Войдите в систему, чтобы ответить на эту викторину и отслеживать свой прогресс обучения
activate venvsource venv/bin/activatevenv activatepython venv activate- Установка пакетов
При активированном виртуальном окружении устанавливайте пакеты с помощью pip:
pip install package_name
Установленные пакеты будут специфичны для этого виртуального окружения.
- Деактивация виртуального окружения
Чтобы выйти из виртуального окружения:
deactivate
Префикс (venv) исчезнет из вашей командной строки.
Войдите в систему, чтобы ответить на эту викторину и отслеживать свой прогресс обучения
virtualenv
- Установка virtualenv
pip install virtualenv
- Установка virtualenvwrapper-win (Windows)
pip install virtualenvwrapper-win
Использование:
- Создание виртуального окружения с именем
HelloWorld
mkvirtualenv HelloWorld
Все, что мы установим сейчас, будет специфично для этого проекта. И доступно для проектов, которые мы подключаем к этому окружению.
- Установка каталога проекта
Чтобы связать наше виртуальное окружение с текущим рабочим каталогом, мы просто вводим:
setprojectdir .
- Деактивация
Чтобы перейти к чему-то другому в командной строке, введите deactivate для деактивации вашего окружения.
deactivate
Обратите внимание, как исчезают скобки.
- Workon
Откройте командную строку и введите workon HelloWorld, чтобы активировать окружение и перейти в корневую папку вашего проекта
workon HelloWorld
Poetry
Poetry — это инструмент для управления зависимостями и упаковки в Python. Он позволяет объявить библиотеки, от которых зависит ваш проект, и будет управлять ими (устанавливать/обновлять) за вас.
- Установка Poetry
pip install --user poetry
- Создание нового проекта
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"
- Пакеты
Чтобы добавить зависимости в ваш проект, вы можете указать их в разделе tool.poetry.dependencies:
[tool.poetry.dependencies]
pendulum = "^1.4"
Кроме того, вместо ручного изменения файла pyproject.toml вы можете использовать команду add, и она автоматически найдет подходящее ограничение версии.
poetry add pendulum
Чтобы установить зависимости, перечисленные в pyproject.toml:
poetry install
Чтобы удалить зависимости:
poetry remove pendulum
Для получения дополнительной информации ознакомьтесь с документацией или прочтите здесь:
- Python projects with Poetry and VSCode. Part 1
- Python projects with Poetry and VSCode. Part 2
- Python projects with Poetry and VSCode. Part 3
Pipenv
Pipenv — это инструмент, который стремится привнести лучшее из всех миров упаковки (bundler, composer, npm, cargo, yarn и т. д.) в мир Python. Windows является первоклассным гражданином в нашем мире.
- Установка pipenv
pip install pipenv
- Перейдите в каталог вашего проекта и установите пакеты для вашего проекта
cd my_project
pipenv install <package>
Pipenv установит ваш пакет и создаст для вас файл Pipfile в каталоге вашего проекта. Pipfile используется для отслеживания зависимостей, необходимых вашему проекту, на случай, если вам потребуется их переустановить.
- Удаление пакетов
pipenv uninstall <package>
- Активация виртуального окружения, связанного с вашим проектом Python
pipenv shell
- Выход из виртуального окружения
exit
Найдите больше информации и видео на docs.pipenv.org.
Anaconda
Anaconda — еще один популярный инструмент для управления пакетами Python.
Где обмениваются пакетами, ноутбуками, проектами и окружениями. Ваше место для бесплатного публичного хостинга пакетов conda.
Использование:
- Создание виртуального окружения
conda create -n HelloWorld
- Чтобы использовать виртуальное окружение, активируйте его:
conda activate HelloWorld
Все, что будет установлено сейчас, будет специфично для проекта HelloWorld
- Выход из виртуального окружения
conda deactivate
UV
UV — это чрезвычайно быстрый установщик и решатель пакетов Python, разработанный как прямая замена рабочим процессам pip и pip-tools. UV в 10-100 раз быстрее, чем pip, и обеспечивает унифицированное управление пакетами, создание виртуальных окружений и управление версиями Python.
- Установка UV
# Использование curl (Linux/macOS)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Использование pip или pipx
pip install uv
- Создание нового проекта с виртуальным окружением
uv init my-project
cd my-project
- Добавление зависимостей
uv add requests
- Запуск команд в окружении проекта
uv run python script.py
- Ручная активация виртуального окружения (необязательно)
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
UV автоматически управляет виртуальными окружениями, версиями Python и зависимостями с исключительной скоростью и удобством.