Введение
Виртуальные окружения Python (Python virtual environments) необходимы для изолированного управления зависимостями проекта. Этот учебник проведет вас через процесс деактивации виртуального окружения, что позволит вам переключаться между проектами и поддерживать чистый рабочий процесс разработки.
Понимание виртуальных окружений
Прежде чем деактивировать (deactivating), давайте кратко рассмотрим, что такое виртуальное окружение (virtual environment) и почему оно важно.
Виртуальное окружение - это автономный каталог, который содержит определенную версию Python и связанные с ней пакеты. Эта изоляция предотвращает конфликты между различными проектами, которым могут потребоваться разные версии одного и того же пакета.
Зачем использовать виртуальные окружения?
- Изоляция (Isolation): Обеспечивает разделение зависимостей проектов.
- Управление версиями (Version Management): Позволяет использовать разные версии Python для разных проектов.
- Воспроизводимость (Reproducibility): Обеспечивает согласованность окружений на разных машинах.
Давайте создадим виртуальное окружение для демонстрационных целей. Откройте свой терминал и выполните следующие команды:
sudo apt update
sudo apt install -y python3.10-venv
Теперь создайте виртуальное окружение в вашем текущем каталоге (/home/labex/project):
python3 -m venv my_venv
Эта команда создает каталог с именем my_venv, содержащий файлы виртуального окружения.
Теперь активируйте виртуальное окружение:
source my_venv/bin/activate

Вы заметите, что приглашение терминала изменится, чтобы указать, что виртуальное окружение активно (например, (my_venv) labex:project/ $).
Деактивация виртуального окружения
Деактивация виртуального окружения (deactivating a virtual environment) — это просто. Просто используйте команду deactivate.
В вашем терминале введите:
deactivate
После выполнения этой команды приглашение терминала вернется в исходное состояние, указывая на то, что виртуальное окружение больше не активно.
Проверка (Verification):
Чтобы убедиться, что виртуальное окружение деактивировано, вы можете проверить команду which python.
which python
/usr/bin/python
Если виртуальное окружение деактивировано, путь должен указывать на системную установку Python, а не на ту, что находится внутри виртуального окружения.
Переключение между проектами
Одна из основных причин использования виртуальных окружений (virtual environments) — это возможность легко переключаться между различными проектами с разными зависимостями.
Давайте смоделируем этот сценарий. Предположим, у вас есть два проекта: project_a и project_b, каждый со своим виртуальным окружением.
Сначала давайте создадим каталог для project_a и его виртуального окружения.
mkdir project_a
cd project_a
python3 -m venv venv_a
Теперь активируйте виртуальное окружение для project_a:
source venv_a/bin/activate
Вы должны увидеть (venv_a) в приглашении терминала.
Теперь давайте создадим каталог для project_b и его виртуального окружения. Сначала деактивируйте текущее окружение и вернитесь в корневой каталог проекта.
deactivate
cd ..
mkdir project_b
cd project_b
python3 -m venv venv_b
Теперь активируйте виртуальное окружение для project_b:
source venv_b/bin/activate
Вы должны увидеть (venv_b) в приглашении терминала.
Следуя этой схеме деактивации текущего окружения и последующей активации желаемого окружения, вы можете плавно переключаться между проектами без каких-либо конфликтов зависимостей.
Очистка
Чтобы очистить виртуальные окружения (virtual environments), созданные во время этой лабораторной работы (lab), вы можете просто удалить каталоги.
Сначала убедитесь, что вы не находитесь ни в одном виртуальном окружении. Если вы видите имя виртуального окружения в своей командной строке (например, (venv_b)), деактивируйте его:
deactivate
Теперь вернитесь в основной каталог проекта, если вы еще не там:
cd /home/labex/project
Наконец, удалите каталоги виртуальных окружений:
rm -rf my_venv project_a project_b
Эта команда удалит каталоги my_venv, project_a и project_b и их содержимое, включая виртуальные окружения.
Итог
В этой лабораторной работе (lab) вы узнали, как деактивировать виртуальное окружение (Python virtual environment) с помощью команды deactivate. Вы также изучили важность виртуальных окружений для управления зависимостями проекта и то, как эффективно переключаться между различными окружениями проектов. Этот навык имеет решающее значение для поддержания чистого и организованного процесса разработки (development workflow).



