我已经使用tensorflow构建了一个python脚本,现在我正在尝试将它转换为.exe文件,但是遇到了一个问题。在使用pyinstaller并从命令提示符运行程序后,我得到以下错误:
File "site-packages\tensorflow_core\python\pywrap_tensorflow.py", line 25, in <module> ModuleNotFoundError: No module named 'tensorflow.python.platform'我试过--隐藏--导入tensorflow.python.platform,但似乎什么都没解决。(程序在解释器中运行良好)非常感谢您的帮助。
发布于 2020-02-26 06:40:59
编辑:最新版本的PyInstaller (4.0+)现在包括对tensorflow的开箱即用的支持。
创建如下目录结构:
- main.py # Your code goes here - don't bother actually naming you file this
- hooks
- hook-tensorflow.py将以下内容复制到hook-tensorflow.py中
from PyInstaller.utils.hooks import collect_all
def hook(hook_api):
packages = [
'tensorflow',
'tensorflow_core',
'astor'
]
for package in packages:
datas, binaries, hiddenimports = collect_all(package)
hook_api.add_datas(datas)
hook_api.add_binaries(binaries)
hook_api.add_imports(*hiddenimports)然后,在编译时,添加命令行选项--additional-hooks-dir=hooks。
如果遇到更多未找到的错误,只需将完整的导入名添加到packages列表中即可。
PS -对我来说,main.py只是from tensorflow import *
https://stackoverflow.com/questions/60384288
复制相似问题