Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 15, 2018 13:59:53

Vimdo
Зарегистрирован: 2018-04-15
Сообщения: 2
Репутация: +  0  -
Профиль  

Созданный pyinstaller файл не работает на других ПК

Добрый день. Меня заинтересовала возможность создания бинарных файлов из скриптов на python. Я установил pyinstaller через pip на windows 10 x64. Пробую создать файл из скрипта следующего содержания:

 with open('test.txt', 'w') as file:
    file.write("Hello, World")
Создаю следующей командой:
pyinstaller -F -w test.py
Ошибок в консоле нет, насколько я успеваю рассмотреть. Файл test.exe создается в папке dist. На ПК, на котором данный файл создавался, программа работает без проблем. На двух других пк (win 8.1 x64 и win 10 x64) она не срабатывает. Попробовал завернуть в try/except, чтобы увидеть ошибку:
 try:
    with open('test.txt', 'w') as file:
        file.write("Hello, World")
except Exception as e:
    with open('log.txt', 'a') as log:
         log.write(str(e))
и заново создал бинарник с теми же параметрами. Однако лог файл тоже не создается, хотя по идее должен. Подскажите, пожалуйста, где моя ошибка. Заранее благодарен!

P.S. Антивирусов нет, а программа лежит в Документах, так что права на создание файлов есть.

Отредактировано Vimdo (Апрель 15, 2018 14:02:18)

Офлайн

#2 Апрель 15, 2018 20:06:54

Kasta_neda
Зарегистрирован: 2014-06-08
Сообщения: 210
Репутация: +  6  -
Профиль   Отправить e-mail  

Созданный pyinstaller файл не работает на других ПК

Скорее всего это не полный код, предполагаю, что вызываются модули и в системе где создавался exe файл модули установлены а в других системах питоном и не пахло. При создании бинарника надо и модули указывать. Ну это не факт. Больше информации надо.

Офлайн

#3 Апрель 17, 2018 13:49:37

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Созданный pyinstaller файл не работает на других ПК

попробуй создать без ключа -w, тогда при запуске будешь видеть окно консоли в котором будет выводиться разная отладка.

можно попробовать еще вот такой “ход конем” чтобы все исключения писались в файл:
https://stackoverflow.com/questions/8050775/using-pythons-logging-module-to-log-all-exceptions-and-errors
альтернативный вариант:
https://stackoverflow.com/questions/1235349/python-how-can-i-handle-any-unhandled-exception-in-an-alternative-way
но ИМХО для такого простого кода это излишне, если конечсно это вес код.

Kasta_neda
При создании бинарника надо и модули указывать. Ну это не факт.
не факт 100% , как раз пиинсталлер редко требует указывать модули, он сам анализирует импорты и тянет все что нужно, в отличии от тогже cxFreeze



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#4 Апрель 17, 2018 23:02:13

Kasta_neda
Зарегистрирован: 2014-06-08
Сообщения: 210
Репутация: +  6  -
Профиль   Отправить e-mail  

Созданный pyinstaller файл не работает на других ПК

не факт 100% , как раз пиинсталлер редко требует указывать модули
Вот как раз с оглядкой на cxFreeze и говорил, всегда с ним работал, с пиинсталером очень давно, не помню уже особенностей.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version