【问题标题】:ImportError: cannot import name '_assert_shallow_structure' from 'tree'ImportError:无法从“树”导入名称“_assert_shallow_structure”
【发布时间】:2020-09-24 11:03:39
【问题描述】:

在 IDLE(默认 python 编辑器)中导入 tensorflow_probability 时出现该错误。如果在 VS 代码中使用相同的代码,我不会收到该错误。在 VS 代码中运行良好。 这是我的进口商品

import numpy as np
import tensorflow.compat.v1 as tf
import tensorflow_probability as tfp
tf.disable_v2_behavior()

这里是完全错误

    Traceback (most recent call last):
  File "C:\Python Scripts\pos_tagging.py", line 4, in <module>
    import tensorflow_probability as tfp
  File "C:\Users\aaaa\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow_probability\__init__.py", line 77, in <module>
    from tensorflow_probability.python import *  # pylint: disable=wildcard-import
  File "C:\Users\aaaa\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow_probability\python\__init__.py", line 21, in <module>
    from tensorflow_probability.python import bijectors
  File "C:\Users\aaaa\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow_probability\python\bijectors\__init__.py", line 23, in <module>
    from tensorflow_probability.python.bijectors.absolute_value import AbsoluteValue
  File "C:\Users\aaaa\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow_probability\python\bijectors\absolute_value.py", line 23, in <module>
    from tensorflow_probability.python.bijectors import bijector
  File "C:\Users\aaaa\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow_probability\python\bijectors\bijector.py", line 31, in <module>
    from tensorflow_probability.python.internal import distribution_util
  File "C:\Users\aaaa\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow_probability\python\internal\distribution_util.py", line 28, in <module>
    from tensorflow_probability.python.internal import prefer_static
  File "C:\Users\aaaa\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow_probability\python\internal\prefer_static.py", line 30, in <module>
    from tensorflow_probability.python.internal.backend import numpy as nptf
  File "C:\Users\aaaa\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow_probability\python\internal\backend\numpy\__init__.py", line 21, in <module>
    from tensorflow_probability.python.internal.backend.numpy import bitwise
  File "C:\Users\aaaa\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow_probability\python\internal\backend\numpy\bitwise.py", line 23, in <module>
    from tensorflow_probability.python.internal.backend.numpy import _utils as utils
  File "C:\Users\aaaa\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow_probability\python\internal\backend\numpy\_utils.py", line 26, in <module>
    from tensorflow_probability.python.internal.backend.numpy import nest
  File "C:\Users\aaaa\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow_probability\python\internal\backend\numpy\nest.py", line 34, in <module>
    from tree import _assert_shallow_structure
ImportError: cannot import name '_assert_shallow_structure' from 'tree' (C:\Users\aaaa\AppData\Local\Programs\Python\Python38\Lib\idlelib\tree.py)

Python 版本:3.8.5 64 位 视窗机

【问题讨论】:

  • 这是正确的文件"C:\Python Scripts\pos_tagging.py",我问这个的原因是,根据你的帖子,你还没有导入这个from tree import _assert_shallow_structure
  • C:\Python Scripts\pos_tagging.py 是我想要运行的。而且我还没有导入“从树导入_assert_shallow_structure”,我不知道它为什么会出现。

标签: python python-3.x tensorflow tensorflow-probability


【解决方案1】:

看看它是从哪里导入的 (C:\Users\aaaa\AppData\Local\Programs\Python\Python38\Lib\idlelib\tree.py) 我想你的意思是从 dm-tree 导入。

这是我的解决方案: 如果你没有安装 dm-tree

pip install dm-tree

如果您这样做,请安装 PyCharm 并使用它来运行代码。它不会有 IDLE 在 tree.py 上的冲突

【讨论】:

    猜你喜欢
    • 2016-12-02
    • 1970-01-01
    • 2022-01-22
    • 2021-06-30
    • 2020-10-19
    • 2018-08-13
    • 2015-01-26
    • 2020-10-10
    • 2020-02-12
    相关资源
    最近更新 更多