Мой exe. файл, созданный из pyinstaller, не работает, как это было, когда он был .py (проблема Pyexcel) - PullRequest
3 голосов
/ 30 января 2020

Это мой первый вопрос, который я использую pyexcel в моем скрипте python (3.7.4), и он работал хорошо. Однако после создания exe-файла с помощью Pyinstaller мой exe-файл не может быть запущен, поскольку он был .py

Вот ошибка во время работы программы: (Эти проблемы не решены не происходит, пока я запускаю скрипт .py)

  File "site-packages\pyexcel\core.py", line 110, in save_book_as

  File "site-packages\pyexcel\internal\core.py", line 39, in get_book_stream

  File "site-packages\pyexcel\plugins\sources\file_input.py", line 39, in get_data

  File "site-packages\pyexcel\plugins\parsers\excel.py", line 19, in parse_file

  File "site-packages\pyexcel\plugins\parsers\excel.py", line 40, in _parse_any

  File "site-packages\pyexcel_io\io.py", line 73, in get_data

  File "site-packages\pyexcel_io\io.py", line 91, in _get_data

  File "site-packages\pyexcel_io\io.py", line 190, in load_data

  File "site-packages\pyexcel_io\plugins.py", line 90, in get_a_plugin

  File "site-packages\lml\plugin.py", line 290, in load_me_now

  File "site-packages\pyexcel_io\plugins.py", line 107, in raise_exception

pyexcel_io.exceptions.SupportingPluginAvailableButNotInstalled: Please install pyexcel-xls

Я уже сделал весь скрытый импорт, за которым следуют https://pyexcel-io.readthedocs.io/en/latest/pyinstaller.html и https://pyexcel.readthedocs.io/en/latest/pyinstaller.html

Это мой скрытый скрипт импорта, используемый через командную строку

--hidden-import pyexcel.plugins.renderers.sqlalchemy --hidden-import pyexcel.plugins.renderers.django --hidden-import pyexcel.plugins.renderers.excel --hidden-import pyexcel.plugins.renderers._texttable --hidden-import pyexcel.plugins.parsers.excel --hidden-import pyexcel.plugins.parsers.sqlalchemy --hidden-import pyexcel.plugins.sources.http --hidden-import pyexcel.plugins.sources.file_input --hidden-import pyexcel.plugins.sources.memory_input --hidden-import pyexcel.plugins.sources.file_output --hidden-import pyexcel.plugins.sources.output_to_memory --hidden-import pyexcel.plugins.sources.pydata.bookdict --hidden-import pyexcel.plugins.sources.pydata.dictsource --hidden-import pyexcel.plugins.sources.pydata.arraysource --hidden-import pyexcel.plugins.sources.pydata.records --hidden-import pyexcel.plugins.sources.django --hidden-import pyexcel.plugins.sources.sqlalchemy --hidden-import pyexcel.plugins.sources.querysets --hidden-import pyexcel_io.readers.csvr --hidden-import pyexcel_io.readers.csvz --hidden-import pyexcel_io.readers.tsv --hidden-import pyexcel_io.readers.tsvz --hidden-import pyexcel_io.writers.csvw --hidden-import pyexcel_io.readers.csvz --hidden-import pyexcel_io.readers.tsv --hidden-import pyexcel_io.readers.tsvz --hidden-import pyexcel_io.database.importers.django --hidden-import pyexcel_io.database.importers.sqlalchemy --hidden-import pyexcel_io.database.exporters.django --hidden-import pyexcel_io.database.exporters.sqlalchemy --hidden-import pyexcel_xls --hidden-import pyexcel_xls.xls --hidden-import pyexcel_xls.xlsr --hidden-import pyexcel_xls.xlsw

, а также я установил их ниже.

pyexcel==0.5.15

pyexcel-io==0.5.20

**pyexcel-xls==0.5.8**

pyexcel-xlsx==0.5.8

PyInstaller==4.0.dev0+55c8855d9d

Спасибо за каждый комментарий и ответ !!

PS. Я уже установил pyexcel-xls == 0.5.8 и добавил --hidden-import pyexcel_ xls.xls

ОБНОВЛЕНИЕ: exe. все еще есть та же проблема. Должен ли я публиковать Log of Pyinstaller или некоторые из моих импортированных библиотек в моих Python скриптах?

1 Ответ

0 голосов
/ 30 января 2020

Сначала убедитесь, что вы загружаете все файлы, следуя этой инструкции

Затем, вы должны указать плагины в скрытых параметрах импорта

 pyinstaller run.py   --hidden-import pyexcel_xls --hidden-import pyexcel_xls.xls   --hidden-import pyexcel_xlsx --hidden-import pyexcel_xlsx.xlsx

# note убедитесь, что вы используете скрытые параметры импорта для своей версии, и вы можете выбрать свою версию на вкладке Read the Docs

См. this и этот ответ

Если вы обнаружили ошибку в PyInstaller, вы можете попробовать загрузить последнюю версию

pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...