Найти - Пользователи
Полная версия: exe PyQt/PySIde
Начало » GUI » exe PyQt/PySIde
1 2 3
MaratD
Здравствуйте.
Не понял про эту анаконду. Для чего она? Тоже собирает Python программу в ехе?
Почитал на сайте - не понятно.
doza_and
MaratD
Для чего она? Тоже собирает Python программу в ехе?
Нет не собирает. Это не нужно и противопоказано для питон приложений.

Грубо говоря предназначена для распространения и эксплуатации приложений на питоне и не только.

Если вы хотите иметь питон приложение, вы просто говорите хочу это. Анаконда скачивает из репозитория приложение и все зависимости и корректно их устанавливает. Можно и деинсталлировать приложение. Анаконда также менеджер виртуальных окружений.

От обычного питона отличается тем, что репозиторий содержит предварительно откомпилированные версии пакетов для ОС семейства windows, если пакеты такое требуют. Для обычных питон пакетов и приложений разницы нет.

В вашем случае вы для своей программы пишете - требует Qt Заливаете свою программу в репозиторий анаконды. Дальше кто угодно получает ее отдавая одну команду. Хочу программу Марата. Если у этого когото уже стоит Qt будет качаться только ваш код, а не ваш код + Qt + Python как в случае с exe
MaratD
Эту анаконду надо на каждый пользовательский компьютер ставить?
Все сложнее и сложнее. Написать программу одно. Проблема появляется дальше, когда хочешь этой программой поделиться. Разработчики языка явно об этом не подумали.
Shaman
MaratD
Написать программу одно. Проблема появляется дальше, когда хочешь этой программой поделиться. Разработчики языка явно об этом не подумали.
А с каким языком дела обстоят иначе? Вроде бы все на равных.
doza_and
MaratD
Разработчики языка явно об этом не подумали.
Они как раз подумали. Это вы документацию не читаете как программами делиться.

Вот вы наверное в ворде документы пишете. Почему вы не вздыхаете о том что у друзей должен быть установлен ворд?

Ну ок.

Хорошо как по вашему надо делиться результатами своего труда? Будет очень интересно услышать. может будут прорывные идеи и мы их реализуем.
MaratD
Просто какая-нибудь программа, которая анализирует какие дополнительные модули, библиотеки использовались в написанной на питоне программе. Потом эта программа собирает все в одну папку. Можно просто копированием, без компиляции. Дальше копируешь эту папку пользователю и программа работает также как у меня.
doza_and
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
просто копированием, без компиляции.
У питона обычно нет компиляции.


This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB