2017-01-26 9 views
2

Я написал сценарий, который открывает и извлекает значения из файла .ods и создает новый лист и записывает значения с использованием pyexcel и pyexcel_ods3. После преобразования в исполняемый файл я получаю эту ошибку No suitable library found for ods.Python - «Не найдено подходящей библиотеки для ods» Pyinstaller

Код:

sheet = pyexcel.get_sheet(file_name="sample.ods") 

pyexcel - 0.4.2 pyexcel--й - 0.3.1 pyexcel-ods3 - 0.3.0 PyInstaller - 3.2.1

PS: Я пытался скрытый импорт и крючок. Я проделал определенную работу и подумал, что это связано с __import__ в manager.py от pyexcel_io.

+0

Мы понятия не имеем, что вы написали. –

+0

Извините. Это мой первый вопрос. Мой скрипт работает при запуске его как скрипта, но после его преобразования в исполняемый файл вызывает ошибку как «Не найдено подходящей библиотеки для ods». – Guhan

+0

Обрежьте до минимального примера, демонстрирующего то же поведение. Вероятно, достаточно импорта и распечатки версии пакета будет достаточно. Затем разместите его здесь (в своем вопросе, а не в комментариях). –

ответ

0

Возможно, вам необходимо указать PyInstaller для включения библиотеки pyexcel_ods3, добавив ее в параметр командной строки hidden_imports.

Другим способом достижения той же цели является явно импортировать pyexcel_ods3 в одном из файлов кода вашего приложения. Это заставит PyInstaller распознавать библиотеку как зависимость.

+0

Я пробовал, но все еще не работал. – Guhan

+0

Обратитесь к http://stackoverflow.com/questions/42983559/unable-to-use-pyexcel-xls-with-pyinstaller-python-executable-not-working-pyt. И чего не хватает: '--hidden_imports pyexcel_ods3.ods'. См. Примечание здесь: http://pyexcel-io.readthedocs.io/en/latest/#special-note-on-pyinstaller – chfw