не может импортировать имя 'pywrap_tensorflow' после pyinstaller - PullRequest
0 голосов
/ 09 апреля 2020

Я использовал pyinstaller для сборки exe-файла, и эта ошибка появилась при его запуске. error screenshot

Я использую tenorflow в виртуальной среде с ноутбуком Jupyter. Я начинающий. Извините, если я сделал несколько глупых ошибок.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2020

Если вы go подходите к пакетированию в одну папку, вы можете сделать следующее:

Вам необходимо связать pywrap_tensorflow со всем остальным. Вам нужно внести изменения в файл .spe c следующим образом.

a = Analysis(...
             binaries=[('add_location_of_pywrap_tensorflow_from_your_virtual_env_here','folder')],
             ...)

, то есть вам нужно указать путь к pywrap_tensorflow из вашего виртуального окружения и добавьте имя папки , где оно будет храниться в вашей папке (папка dist ).

0 голосов
/ 11 апреля 2020

Единственное, о чем я могу думать, это явно указать Python, что связывать.
Из документов :

--add-data <SRC;DEST or SRC:DEST>
    Additional non-binary files or folders to be added to the executable. The path separator is platform specific, os.pathsep (which is ; on Windows and : on most unix systems) is used. This option can be used multiple times.

--add-binary <SRC;DEST or SRC:DEST>
    Additional binary files to be added to the executable. See the --add-data option for more details. This option can be used multiple times.

-p DIR, --paths DIR
    A path to search for imports (like using PYTHONPATH). Multiple paths are allowed, separated by ‘:’, or use this option multiple times  

--hidden-import MODULENAME, --hiddenimport MODULENAME
    Name an import not visible in the code of the script(s). This option can be used multiple times.

Попросить его связать pywrap_tensorflow модуль.

pyinstaller -F --hidden-import pywrap_tensorflow ~/myproject/source/myscript.py
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...