Аналогия Если представлять программирование как стройку, то для каждой нового проекта нам нужны свои инструменты. Язык программирования и среда разработки считаются общими, а вот используемые пакетов (сгруппированный набор функций) могут отличаться. Например, для проекта с созданием чат-бота в Telegram мы будем использовать пакет с библиотекой telethon или python-telegram-bot, а в создание игры это может быть pygame. Также могут отличаться версии этих пакетов, и пакеты могут не работать со старыми версиями других пакетов, поэтому нужно как-то организовывать их между собой в рамках проекта...
Разбираемся с виртуальным окружением для интерпретатора Python. Учимся создавать, активировать, деактивировать, клонировать и удалять виртуальные среды вручную и с помощью алиасов bash. Виртуальное окружение python - это механизм организации изолированных сред Python. Разработчик создает для проекта автономную директорию-среду с подходящей версией интерпретатора Python, зависимостями ядра и нужными сторонними пакетами. Такой подход уменьшает риск поломок в основной системе и позволяет работать с пакетами разных версий без конфликтов...