繁体   English   中英

pyinstaller ModuleNotFoundError

[英]pyinstaller ModuleNotFoundError

我已经使用 tensorflow 构建了一个 python 脚本,现在我正在尝试将其转换为 .exe 文件,但遇到了问题。 使用 pyinstaller 并从命令提示符运行程序后,我收到以下错误:

File "site-packages\tensorflow_core\python\pywrap_tensorflow.py", line 25, in <module> ModuleNotFoundError: No module named 'tensorflow.python.platform'

我试过 --hidden-import tensorflow.python.platform 但它似乎没有修复任何东西。 (该程序在解释器中运行得很好)您的帮助将不胜感激。

编辑:最新版本的 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 *

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM