Python PyInstaller 4.0 упаковка Проект TensorFlow 2.0 не работает ImportError: невозможно импортировать имя 'pywrap_tensorflow' - PullRequest
1 голос
/ 04 октября 2019

Я пытаюсь связать приложение python с помощью pyinstaller, использующего tenorflow.

Я сейчас использую Pyinstaller-4.0.dev0 + 2f4426f52, Tensorflow 2.0, Keras 2.3 и Python 3.7.3 все в виртуальной среде.

Я пробовал разные старые версии, но у каждой старой версии была своя проблема, которую я не мог решить. Я посвятил 3 дня попыткам решить эту проблему.

Упрощенный пример запускаемого мной скрипта:

from tensorflow import keras
model = keras.Sequential()

Я использовал следующую команду для запуска pyinstaller:

pyinstaller --noconfirm --log-level=DEBUG ^
    --onedir ^
    --clean ^
    --name MyModel ^
    --hidden-import=tensorflow_core ^
    --noupx ^
    main.py

Использование скрытого импорта представляется излишним, так как выходные состояния:

ОТЛАДКА: Скрытый импорт 'tenorflow_core' уже найден

Не былоПостроить ошибки или предупреждения в журнале.

Я заглянул в файл pyz-00.pyz и могу подтвердить, что модули TensorFlow включены в файл. Я подтвердил, что архив содержит:

'tenorsflow_core.python': (1, 9871434, 2355),

Однако, когда я пытаюсь запустить exe, я получаюследующая ошибка:

Файл "site-packages \ tenorflow_core \ python_init_.py", строка 49, в ImportError: невозможно импортировать имя 'pywrap_tensorflow' из 'tenorsflow_core.python' (\ dist \ MyModel \ tenorsflow_core\ python_init_.pyc)

Похоже, что pyinstaller не может справиться с тензорным потоком, и я подумал, может ли кто-нибудь с опытом здесь знать, как написать для него хук или знает какой-то другой обходной путь?

1 Ответ

0 голосов
/ 11 октября 2019

Можете ли вы попробовать изменить каталог, из которого вы вызываете эту программу? Иногда такие ошибки возникают, когда в текущем каталоге есть подкаталог tenorflow с init .py, который Python предпочтет для любых других установок. Вы также можете обратиться к ссылке ниже для некоторых дополнительных шагов по устранению неполадок:

Tensorflow-GPU с pyinstaller

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