Форум сайта python.su
Всем добрый день!
Подскажите, пожалуйста, самый продуктивный способ сделать установочный файл или исполняемый с программы, написанной на python.
Весь форум пролистать не успел, может быть ранее такие темы были, сбросте ссылки.
Сделал исполняемый файл через pyinstaller, запускается только на моём компе, на других не хочет, при чем windows разные там установлены.
Использую python 3.6.
Спасибо! Буду благодарен любым отзывам.
Офлайн
на других не хочетОшибку пишет какую-нибудь? Если да, то сюда бы её.
Отредактировано Striver (Июнь 10, 2019 15:38:52)
Офлайн
StriverОшибок нет. Просто запустили и ничего не происходит.
Офлайн
А про DLL подробнее, пожалуйстаЯ лет 10 назад в Python 2.5 создавал исполняемые файлы с помощью пакета py2exe. На других машинах они сразу не запускались, требовалась некая DLL-ка. Формально, надо было заставить пользователя компьютера, на который ставится программа, установить пакет vcredist от микрософта определённой версии. Фактически достаточно было скопировать нужную DLL в каталог с программой. Лет 5 назад практически также я делал исполняемые файлы с помощью пакета cxFreeze для питона 3.3. И ему тоже нужно было что-то такое на других компах. Выводилась ошибка, какой DLL ему не хватает, я её брал с того компа, где был Питон (из каталога \Windows\System32), и копировал в каталог с программой. Для питона 3.3, кажется, нужно было две DLL-ки. Их названий сейчас не вспомню.
Офлайн
Faceтут нет готового решения, сколько раз собирал pyinstaller-ом всегда все запускалось на разных кумпуютерах, и никаких vcredist-оа не нужно было. Так что для начала соберите ваш екзешник без ключа -w, –windowed, –noconsole и посмотрите чего оно вам пишет. Обычно такое случается когда pyinstaller не затягивает какойнить дюже нужный модуль, оно тогда вам сразу в консоль вывалит : “cannot import module….” И тогда вы или явно в коде указываете импорт, или говорите об этом pyinstaller-у через ключ –hidden-import MODULENAME
Сделал исполняемый файл через pyinstaller, запускается только на моём компе, на других не хочет, при чем windows разные там установлены.
Использую python 3.6.
[code python][/code]
Отредактировано PEHDOM (Июнь 10, 2019 17:46:08)
Офлайн
PEHDOMДа без -w не пробовал. На счёт разрядности, то запускал на разных win и 64 и 32.
Офлайн
Программа написана на tkinter мне с - w нужно собирать чтоб не консольная была.Ну, пока с проблемой разбираешься, лучше пусть консольной будет, потом -w вернуть нетрудно.
Отредактировано Striver (Июнь 11, 2019 08:43:45)
Офлайн
Faceну по поводу что пока идет отладка лучше -w оставить, вам уже сказали. А на будущее если вы собираетесь и далее запаковывать все в exe, стоит подумать чтобы все исключения выводились в какойнить файл а-ля errors.log. делается это достаточно просто , и не требует особых затрат,всего десяток строчек кода в начале модуля:
Программа написана на tkinter мне с - w нужно собирать чтоб не консольная была.
[code python][/code]
Отредактировано PEHDOM (Июнь 11, 2019 09:12:00)
Офлайн
PEHDOMДа без -w не пробовал. На счёт разрядности, то запускал на разных win и 64 и 32.
Прикреплённый файлы:
IMG_20190613_224229.jpg (293,6 KБ)
Офлайн
Код..
Прикреплённый файлы:
IMG_20190613_224339.jpg (265,5 KБ)
Офлайн