【问题标题】:import attrmap gives TypeError: 'type' object is not subscriptableimport attrmap 给出 TypeError: \'type\' object is not subscriptable
【发布时间】:2022-08-13 21:20:47
【问题描述】:

我正在尝试使用库AttrMap,建议将其作为AttrDict 库的替代品。从 AttrDict 的文档中:

...如果这些警告中的任何一个都破坏交易,或者您不需要 你的对象是一个字典,考虑使用 AttrMap 代替。

我用pip install attrmap 安装它,然后像往常一样用import attrmap 将它导入到新的conda 环境中。

但是导入会出现以下错误:

Traceback (most recent call last):
  File \"test.py\", line 1, in <module>
    import attrmap
  File \"/Users/claudia/opt/anaconda3/envs/test/lib/python3.8/site-packages/attrmap/__init__.py\", line 2, in <module>
    from .attrmap import AttrMap, AttributeMap, AttrMapping, AttributeMapping
  File \"/Users/claudia/opt/anaconda3/envs/test/lib/python3.8/site-packages/attrmap/attrmap.py\", line 12, in <module>
    class AttrMap(object):
  File \"/Users/claudia/opt/anaconda3/envs/test/lib/python3.8/site-packages/attrmap/attrmap.py\", line 91, in AttrMap
    def keys(self) -> list[str]:
TypeError: \'type\' object is not subscriptable

我已经尝试安装不同的先前版本并在 Colab 笔记本中添加导入,但都出现相同的错误。

有谁知道问题可能是什么?我不认为与我的环境有关。

    标签: python dictionary


    【解决方案1】:

    list[str] 是从 python 3.9 开始提供的类型注释,回溯显示您的系统使用 python 3.8,请尝试升级您的 python 或降级 attrmap。

    可能值得将此问题报告给 attrmap 开发人员。

    【讨论】:

    • 伟大的!我试过降级到以前的版本,但只有三个,而且没有一个。升级到 python 3.9 效果很好。谢谢
    【解决方案2】:

    现在该错误已在github 中介绍的最新版本中得到修复。您可以尝试更新到最新版本。它现在支持 python>=3.6。

    【讨论】:

      猜你喜欢
      • 2020-11-02
      • 2020-03-24
      • 1970-01-01
      • 2021-05-04
      • 2018-02-05
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      相关资源
      最近更新 更多