Найти - Пользователи
Полная версия: PySide2 & pyinstaller
Начало » GUI » PySide2 & pyinstaller
1 2
@cckyi_boxxx
решил вот перейти с pyqt5 на PySide2 из-за лицухи, и если с первым инсталлер работает корректно прям сразу, тут без костылей никак, были множественные проблемы которые я решил опцией –hidden-import но когда экзешники начало терять - could not find qtwebengineprocess.exe я решил из папки C:\Program Files\Python36\Lib\site-packages\PySide2 все копирнуть в соответствующую папку собранного приложения, и все работает, никаких костылей теперь не надо, напрягает лишь размер содержимого 323мб, понятное дело что там много хлама который в проекте ваще не упал, вопрос лишь в том как понять что можно удалить а что нет ? Сам опасаюсь принимать решение что-бы не-было скрытых ошибок которые вылетят только у юзера.
AD0DE412
.. ну такое .. хз .. может pynsource поможет отследить зависимости
@cckyi_boxxx
Как и ожидалось софтина не справилась, она даже не поняла что используется QWebEngine , однако за нее всеравно спасибо, давно мне нехватало чего-то подобного что-бы легче было продумывать архитектуру приложения.

Что до моего вопроса, сейчас сам выношу все лишнее, пока облегчил только на ~30мб ))
Rodegast
Ну ты бы хоть про этот pyinstaller поискал бы на форуме…
http://python.su/forum/topic/36984/
doza_and
Rodegast
Ну ты бы хоть про этот pyinstaller поискал бы на форуме…
Поддержу. Если заниматься идиотизмом, возникают идиотские проблемы. Поддерживать урезанный pyside будет сплошная боль и никаких гарантий работоспособности.

О размере приложения надо было сразу думать при выборе технологии. С Qt приложение меньше 60 мегов не получается обычно.
Если нужен рантайм поменьше берите библиотеку с меньшим рантаймом, например wxpython (раза в 3 вроде поменьше будет). если делать gui в браузере, то вы пользуетесь браузером, который в какомто виде у пользователя есть, поэтому рантайма не будет.
@cckyi_boxxx
Rodegast, искал в гугле а не на форуме, и не наткнулся так как искал проблемы связанные с PySide,

Что насчет идиотизма с компиляцией, то это вынужденная мера, заказчики с фриланса не хотят знать что такое питон и как его юзать, они хотят дважды клацнуть по ярлыку и что-бы все заработало. Возможно в будущем присмотрюсь к вашему совету по Portable Python, но сейчас не готов тратить на это время.

doza_and
Поддерживать урезанный pyside будет сплошная боль и никаких гарантий работоспособности.

Сейчас уж не вспомню кто именно, но кто-то на этом форуме меня убеждал что всю кривизну из него выпилили и он работает не хуже PyQt, Поскольку я собрался забить на русскоязычный фриланс за копейки и валить на upwork, нарушать условия GPL безнаказанно не выйдет, а насколько я понял LGPL позволяет во-первых не давать исходников, во-вторых все остальные элементы программы, которые не используют PySide, я могу оформить в виде модулей, и к ним прилепить коммерческую лицензию, таким образом максимум что можно будет свободно распространять это голый гуй без модулей, на что мне насрать. Я смотрел цены на PyQt, 500 с небольшим уев, и юзай на здоровье как хочешь, но при этом кутэха даст ограничение по LGPL, а вот ее коммерческая лицуха стоит 5500 вечно зеленых, что уже ни в какие ворота, ребята конкретно так зажрались. Ну и поэтому я не стал покупать PyQt, так как есть PySide с тем-же LGPL.


doza_and
О размере приложения надо было сразу думать при выборе технологии. С Qt приложение меньше 60 мегов не получается обычно.
Если нужен рантайм поменьше берите библиотеку с меньшим рантаймом, например wxpython (раза в 3 вроде поменьше будет). если делать gui в браузере, то вы пользуетесь браузером, который в какомто виде у пользователя есть, поэтому рантайма не будет.

Я присматривался к wxpython, у него тоже есть браузер (wx.html2) но у него один большой косяк, разные бэкэнды, смотря где запустят, а у кутэхи всегда хромиум под управлением последней. Это важно так как только этим можно гарантировать то что всевозможные обходы защиты сайтов будут работать у заказчика так-же исправно как и у меня. Если говорить о задачах софта, то необходимо дать пользователю возможность работать с конкретным сайтом вручную как в обычном браузере, но должны быть дополнительные возможности вроде парсинга или мониторинга обновлений, и прочих дел которые не любят хозяева сайтов, чем и будет заниматься мой софт. Так-же в кутэхе меня порадовало что возможно обмануть js-код сайта таким способом что даже когда окно неактивно, сайт будет думать что это не так.

Например вот как выглядел парсер для одного из заказчиков, поиск позиций он осуществлял на сайте, жмакал “экспорт” и получал экселевский файл.













py.user.next
@cckyi_boxxx
заказчики с фриланса не хотят знать что такое питон и как его юзать, они хотят дважды клацнуть по ярлыку и что-бы все заработало.
Им всё равно, что ты им дашь. Поэтому тебе и нужно сделать дистрибутив своего продукта и давать один экзешник, который и установит им питон и настроит всю систему (в том числе и ярлыки создаст на рабочем столе) для запуска и работы твоего скрипта. При этом им никогда не потребуется лезть в его внутренности, и общаться с ним они будут через ярлык на рабочем столе. Когда им нужно поставить любую программу, они используют дистрибутивы этих программ, скачивая их.
@cckyi_boxxx
py.user.next, предложение заманчивое, стабильность при таком раскладе будет максимальной, но потрахаться придется основательно создавая установщик который будет выкачивать все из инета, ставить, настраивать. Pyinstaller подкупает своей простотой, для подавляющего большинства проектов одна команда в терминале - и все готово, ну для полного фарша можно собрать файлы воедино в установщик.
doza_and
@cckyi_boxxx
потрахаться придется основательно создавая установщик который будет выкачивать все из инета
??? Вы шутите два раза?
Сделать такой установшик гораздо проще чем пользоваться pyinstaller (Вы не ограничены тем что надо выбирать достаточную для работы часть). Это работы на 15-20 минут.

Установщик обычно делают так чтобы ничего не надо было выкачивать. С выкачиванием это бат файл с тремя строчками кода.
Rodegast
> это вынужденная мера, заказчики с фриланса не хотят знать что такое питон и как его юзать, они хотят дважды клацнуть по ярлыку и что-бы все заработало. Возможно в будущем присмотрюсь к вашему совету по Portable Python, но сейчас не готов тратить на это время.

А ты точно все ссылки смотрел? Там даже есть рабочий пример запуска программы на PySide.
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