При запуске упакованного приложения Pyinstaller происходит сбой - PullRequest
0 голосов
/ 06 мая 2018

Я знаю, что это проблема, о которой здесь уже много раз говорили, но я серьезно нахожусь в этом. Я изучаю Python 3 и решил, что поработаю над небольшой текстовой игрой. Я добился хорошего прогресса, выполнил большую часть учебного пособия, титульную карточку, половину написанной файловой системы сохранения и т. Д. Я решил, эй, я должен попробовать и посмотреть, смогу ли я упаковать эту вещь, прежде чем идти дальше (потому что где веселье в том, чтобы не показывать друзьям?).

Раньше я использовал Pyinstaller в некоторых простых однофайловых приложениях (игральные кости и т. Д.), И это работало безупречно. Тем не менее, у меня чертовски много времени с моей большой игрой.

Когда я связываю его с Pyinstaller, он выдает ton недостающих ошибок lib. Я погуглил вокруг, и это, очевидно, не большая проблема. Кроме того, кажется, что все работает нормально ... пока я не запустил программу. Это просто простая программа, которая запускается в командной строке, но когда я ее запускаю, она сразу вылетает.

Теперь я подумал, что это может быть связано с импортированными модулями (или с тем фактом, что программа использует вызов из нескольких файлов .py). Поэтому я сделал небольшую программу, которая включает в себя все те же операции импорта и обращения к внешнему файлу, и эта программа была упакована и запущена просто отлично! Таким образом, на данный момент рабочая гипотеза состоит в том, что с моим кодом что-то не так, как надо, но я не могу понять, что это такое.

Вот ссылка на саму программу: https://www.dropbox.com/s/ouog4ccbibpibgx/AsciiLand.zip?dl=0

Серьезно, я был на этом весь день, и я достиг абсолютно нулевого прогресса. Любая помощь будет очень ценится здесь, ребята.

1 Ответ

0 голосов
/ 06 мая 2018

Похоже, я нашел проблему. Хотя это, честно говоря, просто вызывает больше проблем, сейчас я это приму.

Похоже, у Pyinstaller есть серьезные проблемы с PyFiglet. Все скомпилировалось нормально, когда я удалил вывод PyFiglet. У меня есть абсолютно ноль идеи о том, почему, ну да ладно.

Для тех, кто в будущем ищет ответы на эти вопросы, есть команда для компиляции. Вам просто нужно добавить каталог шрифтов Pyfiglet в pyinstaller.

pyinstaller --add-data "C: / Python36 / Lib / site-packages / pyfiglet"; ./ pyfiglet --onefile myprogram.py

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