Добро пожаловать в мир развертывания! Ответ, который вы ищете, далеко не тривиален.
Во-первых, Python - это интерпретируемый язык, который на самом деле не должен распространяться как настольное приложение. Если вы хотите создать исполняемые файлы, то для этого есть несколько библиотек, например py2exe . Тем не менее, это в лучшем случае специальные решения. Они «замораживают» весь Python вместе с вашим кодом, а затем вы отправляете все вместе.
Наилучший способ определить ваши зависимости - это файл require.txt. Вы можете создать его с помощью этой команды:
pip freeze > requirements.txt
Что это делает, проверяет все библиотеки, которые в настоящее время находятся в любой среде, в которой вы работаете, и сохраняет их в файл под названием needs.txt. В этом файле будут все необходимые библиотеки, и любой, кто получит ваш код, может просто запустить
pip install -r requirements.txt
и он установит все зависимости.
Однако это просто заботится о зависимостях библиотеки. А как насчет версии самого Python, среды ОС и т. Д. Итак, именно здесь вам, возможно, придется начать искать такие решения, как Docker. С помощью Docker вы можете указать всю среду в Dockerfile. Затем любой пользователь на другом компьютере может запустить образы докера со всеми зависимостями. Это быстро стало де-факто способом доставки кода (на всех языках, но особенно полезно в Python).