Я хочу отдать свое приложение кому-то, но оно не работает на его компьютере Python Pyinstaller - PullRequest
0 голосов
/ 24 августа 2018

Я собрал систему управления магазином и скомпилировал ее с помощью pyinstaller, например "pyinstaler -F admin1.py".

Он дал мне файл сборки и файл dist, когда я запускаю приложение на своем компьютере, он работает отлично. Я скопировал папку dist на другой компьютер, но он не запускается, поэтому мне нужно скопировать файл компоновки или это другой способ копирования файла в другие системы. Я использую только модули tkinter, os и datetime, но я выплюнул свою программу в другом модуле.

1 Ответ

0 голосов
/ 24 августа 2018

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

Согласно в этом разделе документации по pyinstaller вам необходимо отправить получателю вашего исполняемого файла каталог "build".Это потому, что build содержит все зависимости в вашем скрипте.Чтобы процитировать раздел об импорте в одну папку ( ПРИМЕЧАНИЕ: не волнуйтесь, я вижу установленный вами вариант onefile. Это просто раздел, где документы ссылаются на каталог сборки, о котором вы спрашиваете):

Другое преимущество пакета из одной папки заключается в том, что при изменении кода, если он импортирует точно такой же набор зависимостей, вы можете отправлять только обновленный исполняемый файл myscript.Это обычно намного меньше, чем вся папка.(Если вы измените сценарий так, чтобы он импортировал больше или другие зависимости, или если зависимости были обновлены, вы должны перераспределить весь пакет.)

Я думаю, -F по-прежнему создает каталог / build (так что вы все еще можете отслеживать зависимости).Я хотел бы поделиться этим, так как он будет доступен и для одной папки.Pyinstaller знает, как искать Tkinter (также в документации, указанной выше), так что, по крайней мере, вам не нужно беспокоиться об этой части.Когда вы используете один файл, каталог / dist должен быть пустым, или, по крайней мере, это так, когда я создаю исполняемые файлы.

Попробуйте метод одной папки и отправьте эту папку на любые компьютеры, которые вам нужны.Дайте мне знать, если это поможет.

TLDR; Да, поделитесь файлом сборки.Он содержит все ваши зависимости.Файл dist не должен содержать ничего для опции "-F".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...