导入错误:没有名为“tensorflow.core”的模块

新手上路,请多包涵

使用 pip3 安装 tensorflow-gpu 后,尝试 import tensorflow as tf 时出现以下错误

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/dlpda/.local/lib/python3.5/site-packages/tensorflow/__init__.py", line 22, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "/home/dlpda/.local/lib/python3.5/site-packages/tensorflow/python/__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
ImportError: No module named 'tensorflow.core'

虽然我能够在 virtualenv 中成功导入,但在外部却不行。

我应该如何解决这个问题才能导入 tensorflow?

原文由 Ajinkya Ghadge 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

问题可能出在包的安装目录上,比如有些包安装在 home 中,有些则安装在 /usr/ 中。我建议您通过在 ~/.local/lib/python3.5/site-packages 中找到它们来删除主目录中的所有包,然后使用超级用户权限重新安装。

原文由 Shashikant Ghangare 发布,翻译遵循 CC BY-SA 4.0 许可协议

这可能是张量流中的一个错误。在 1.13 中,我们有一个 __init__.py 包含:

 __all__ = [_s for _s in dir() if not _s.startswith('_')]

# ... later ...
try:
  del python
  del core

因此,当我们从模块中删除 pythoncore 时,我们不会从 __all__ 中删除它们。这可以防止像 from tensorflow import * 这样的用例。此 更改 应在 Tensorflow 1.14 中修复。

原文由 sjr 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题