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

Виртуальное окружение (Virtual Environment) — это изолированное окружение для Python-проектов, которое позволяет отделить зависимости (библиотеки) одного проекта от других. Это полезно для избежания конфликтов версий библиотек и поддержания стабильности приложения.

# установить venv
apt install python3-venv

# перейти в директорию проекта и создать виртуальное окружение
# newapp — это имя виртуального окружения, его можно изменить на любое другое
cd /path/to/project
python3 -m venv newapp

# активировать виртуальное окружение
source newapp/bin/activate

# пример отображения
(newapp) user@host:~/project$

# выход из виртуального окружения
deactivate

При создании виртуального окружения создаётся изолированная структура каталогов:

# bin — здесь хранится файл activate, который активирует окружение, и сам интерпретатор Python
# lib — здесь находятся установленные пакеты
# include — заголовочные файлы для пакетов, требующих компиляции (например, для установки расширений на C)
/
├── project
│   └── newapp
│       ├── bin
│       └── lib
│       └── include

После активации виртуального окружения можно устанавливать зависимости. Все установленные библиотеки будут находиться внутри виртуального окружения, не влияя на систему или другие проекты. Например:

# установка
pip install <package>
pip install django

# обновление
pip install --upgrade <package>

Виртуальное окружение помогает избегать случайных конфликтов библиотек и версий, что увеличивает стабильность проекта. Установленные пакеты ограничиваются текущим проектом, не затрагивая глобальные библиотеки, что снижает риск использовать устаревшие или небезопасные версии библиотек в других проектах.

Для улучшения безопасности проекта можно создать файл requirements.txt, содержащий все зависимости и их версии. Это полезно при развёртывании на других серверах:

# сохранить список зависимостей проекта
pip freeze > requirements.txt

# установить на другом сервере
pip install -r requirements.txt

Команды, которые затрагивают системные настройки, например, обновление Python через пакетный менеджер системы (apt, yum), не будут работать внутри виртуального окружения и могут повлиять на системные зависимости.

Виртуальное окружение предназначено для работы над конкретными проектами, а не для выполнения системных административных задач.

# для удаления виртуального окружения достаточно просто удалить директорию, в которой оно находится
rm -rf /path/to/project/newapp
2 г. Просмотров: 536
Материал помог? Оценка помогает находить устаревшие и спорные решения.

Комментарии

0

Нашли ошибку или хотите дополнить материал?

Комментариев пока нет.Можно первым дополнить материал или сообщить об ошибке.
Telegram