首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Bug解决!ImportError: cannot import name MutableMapping from collections

Bug解决!ImportError: cannot import name MutableMapping from collections

作者头像
苏泽
发布2024-12-24 08:39:50
发布2024-12-24 08:39:50
43010
代码可运行
举报
运行总次数:0
代码可运行

省流:python版本更新 而一些生态库的变量命名没更新变化导致的问题

起因是在win环境下装spark  但是发现这是python底层的问题

于是想写一篇这个错误的博客警戒世人  py实在是太多生态库了

但并不是所有的都维护的很好

大概可以理解成 

python原先有个东西叫collecttions  然后py在3.3之后就把他改名成了_collections_abc

所以就有各种各样的问题!因为问题来自于底层

最简单的解决办法: 根据报错找到最下面那一行

例如我的:

代码语言:javascript
代码运行次数:0
运行
复制
E:\Spark\spark-2.2.0-bin-hadoop2.7\python\lib\py4j-0.10.4-src.zip\py4j\java_collections.py:13
      2 """
      3 Module responsible for converting Java collection classes to Python collection
      4 classes. This module is optional but loaded by default.
   (...)
      9 :author: Barthelemy Dagenais
     10 """
     11 from __future__ import unicode_literals, absolute_import
---> 13 from collections import (
     14     MutableMapping, Sequence, MutableSequence,
     15     MutableSet, Set)
     16 import sys
     18 from py4j.compat import (
     19     iteritems, next, hasattr2, isbytearray,
     20     ispython3bytestr, basestring)

直接找到他的路径  E:\Spark\spark-2.2.0-bin-hadoop2.7\python\lib\py4j-0.10.4-src.zip\py4j\java_collections.py

找到底层的代码直接把名字改过来 把collections改成  _collections_abc

要注意有没有保存到哦、!  我这个文件是在zip下的 所以我需要把他解压出来  用编辑器打开 修改 保存  然后再重新打包回去

这个做法能解决所有的这种问题 从根源出发!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档