【问题标题】:ipyvolume in Windows issue AttributeError: module 'collections' has no attribute 'Mapping'Windows 中的 ipyvolume 问题 AttributeError:模块“集合”没有属性“映射”
【发布时间】:2022-07-19 22:09:44
【问题描述】:

我已经安装了 ipyvolume,但是当我尝试使用虚拟环境导入它时,我收到了消息

>>> import ipyvolume
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\mustafa\tutortial_env\lib\site-packages\ipyvolume\__init__.py", line 4, in <module>
    from . import styles
  File "C:\mustafa\tutortial_env\lib\site-packages\ipyvolume\styles.py", line 56, in <module>
    utils.dict_deep_update(default, _defaults)
  File "C:\mustafa\tutortial_env\lib\site-packages\ipyvolume\utils.py", line 19, in dict_deep_update
    if isinstance(v, collections.Mapping):
AttributeError: module 'collections' has no attribute 'Mapping'

有人可以帮忙吗?

【问题讨论】:

  • 第三方包内的错误。

标签: python 3d


【解决方案1】:

我在使用虚拟环境时遇到了同样的问题。就我而言,似乎在使用 pip 安装 ipyvolume 库时,它安装了为 python 3.9 而不是 >=3.10 开发的版本。 collection 库出现了一些问题,应该是 collection.abc

This post 实际上为我解决了这个问题,因为我修改了 ipyvolume/utils.py 脚本(在您的情况下为 "C:\mustafa\tutortial_env\lib\site-packages\ipyvolume\utils.py"),如下所示:

from __future__ import print_function
from collections.abc import Mapping   # Only for Mapping
import collections  # This line used to be the last of the imports, used when calling defaultdic, not available in collections.abc
import requests
import io
import os
import numpy as np
import functools
import time


...

  if isinstance(v, Mapping):
      r = dict_deep_update(d.get(k, {}), v)

请注意,当使用 pip 安装 ipyvolume 0.5.2 时,collections 会在此文件中导入两次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-03
    • 2018-10-11
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    相关资源
    最近更新 更多