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