首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyinstaller ModuleNotFoundError

pyinstaller ModuleNotFoundError
EN

Stack Overflow用户
提问于 2020-02-24 21:39:07
回答 1查看 6.8K关注 0票数 7

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

代码语言:javascript
复制
File "site-packages\tensorflow_core\python\pywrap_tensorflow.py", line 25, in <module> ModuleNotFoundError: No module named 'tensorflow.python.platform'

我试过--隐藏--导入tensorflow.python.platform,但似乎什么都没解决。(程序在解释器中运行良好)非常感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-26 06:40:59

编辑:最新版本的PyInstaller (4.0+)现在包括对tensorflow的开箱即用的支持。

创建如下目录结构:

代码语言:javascript
复制
- main.py  # Your code goes here - don't bother actually naming you file this
- hooks
  - hook-tensorflow.py

将以下内容复制到hook-tensorflow.py

代码语言:javascript
复制
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 *

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60384288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档