Я пытаюсь связать приложение 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 не может справиться с тензорным потоком, и я подумал, может ли кто-нибудь с опытом здесь знать, как написать для него хук или знает какой-то другой обходной путь?