MaratD
Дальше копируешь эту папку пользователю и программа работает также как у меня.
Так кто вам мешает. Положите вашу программу в папку с питоном. Напишите bat файл который запустит этот питон для вашей программы.
MaratD
Дальше копируешь эту папку python пользователю и программа работает также как у меня.
Именно так и будет.
MaratD
Просто какая-нибудь программа, которая анализирует какие дополнительные модули, библиотеки использовались в написанной на питоне программе.
Если вам нужен Qt и Python то выдергивать нужные пакеты нет никакой необходимости. Эти две штуки весят 90% этой папки. Нет никакого смысла откусывать другие пакеты.
Одна из причин почему так не делают- кому охота ради ваших 100 строк текста копировать 50 мегабайт питона и Qt. Тем более что у нормальных людей все это добро уже есть. Программ на питоне у меня десятки тысяч. Никакого места не хватит столько питонов держать. Вот тут и начинаются вся сложность. Если использовать Qt который есть (чтобы не терять время на повторную закачку и не терять зря место на диске) надо проверить версия этого Qt подходит для вашей программы или нет и т д. и т.п.
Есть еще один повод использовать разделяемые ресурсы. Вот вы написали модуль. Он используется в нескольких ваших программах. Вы раздали эти программы друзьям (вместе с питоном и этим модулем). И тут бац! Вы находите ошибку. Легко ее исправляете. А дальше что? Правильно - морща лоб вы пытаетесь вспомнить где какие питоны из ваших 10000 питонов содержат этот модуль (замечу будет очень здорово если питоны упакованы в exe файл. Тогда у вас нет простого способа проверить его наличие и изменить). Потом копируете этот модуль во все питоны которые его используют. Потом естественно посещаете всех друзей и проводите аналогичную процедуру, учитывая что у них кроме 20 ваших питонов установлено 1000 питонов от других друзей, в части из которых есть модули с темже именем, но совершенно другим содержимым.
А у меня этот модуль один. Мне даже делать ничего не надо после исправления. Приятелям сделаю рассылку на почту - выполните команду pip install -U mymodule я нашел ошибку. А друзьям ничего не надо будет делать потому что они каждый день обновляют с Гита текущие версии рабочих проектов.
Да я рискую развалить одним действием работу кучи пакетов и кучи людей. Но и поправить я это могу быстро.
MaratD
анализирует какие дополнительные модули, библиотеки использовались в написанной на питоне программе
Дело в том, что это невозможно сделать корректно. Ну например вы запускаете свою программу и импортируете модули. А какой питон используется? Это зависит от настроек ОС. А с версией питона будет меняться список пакетов. Вот у вас в коде написано import some_pack. А как вы узнаете ограничения на версии этого пакета? Обычно при изготовлении дистрибутива накладывают ограничения. Но это все не нужно если вы считаете что питон копируется вместе с приложением.
Есть более хитрая причина. У меня например бывает импорт разных модулей в зависимости от версии операционной системы, установленного стороннего ПО и т.д. При этом имена модулей генерируются программой по некоторому сложному алгоритму. Анализом текста вы не сможете получить полный список того что я могу потенциально импортировать. Поэтому принято перечень пакетов от которых зависит ваша программа составлять разработчику. Вы конечно можете использовать инструменты чтобы облегчить составление списка. Они входят в состав питона.
MaratD
просто копированием, без компиляции.
У питона обычно нет компиляции.