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