Виртуальное окружение (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
Комментарии
0Нашли ошибку или хотите дополнить материал?