前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Bug解决!ImportError: cannot import name MutableMapping from collections

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

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

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

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

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

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

大概可以理解成 

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

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

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

例如我的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
1 条评论
热度
最新
可以,大佬,互粉一下
可以,大佬,互粉一下
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
python中的数据结构
对于习惯使用于C++的大佬来说, 容器的使用极大的方便了编程的需要,尤其对于参加算法竞赛的同学们,不必再自己去写类函数(当然了,类函数已经明明白白的)。作为python的使用者,开发者也为大家提供了已经打包好的函数库,import 即可。
AngelNH
2020/04/15
7320
python︱ collections模块(namedtuple/defaultdict/OrderedDict等)
给[‘x’,‘y’]这个tuple命名为point,这个tuple中,第一个空位命名为'x',第二个为'y'。
悟乙己
2019/05/26
1.9K0
Python 工匠:容器的门道
容器”这两个字很少被 Python 技术文章提起。一看到“容器”,大家想到的多是那头蓝色小鲸鱼:Docker,但这篇文章和它没有任何关系。本文里的容器,是 Python 中的一个抽象概念,是对专门用来装其他对象的数据类型的统称。
腾讯蓝鲸助手
2022/06/28
5890
python 安装spark_Spark环境搭建 (Python)
—————————————————————————————————— 2018-5-11更新
学到老
2019/02/14
1.1K0
MongoDB Spark Connector 实战指南
1、高性能,官方号称 100x faster,因为可以全内存运行,性能提升肯定是很明显的;
MongoDB中文社区
2019/10/23
1.4K0
MongoDB Spark Connector 实战指南
流畅的 Python 第二版(GPT 重译)(七)
面向对象编程关乎接口。在 Python 中理解类型的最佳方法是了解它提供的方法——即其接口——如 “类型由支持的操作定义”(第八章)中所讨论的。
ApacheCN_飞龙
2024/03/21
3040
流畅的 Python 第二版(GPT 重译)(七)
使用Elasticsearch、Spark构建推荐系统 #1:概述及环境构建
推荐系统是机器学习当前最著名、最广泛使用,且已经证明价值的落地案例。尽管有许多资源可用作训练推荐模型的基础,但解释如何实际部署这些模型来创建大型推荐系统的资源仍然相对较少。
flavorfan
2022/03/18
3.5K0
使用Elasticsearch、Spark构建推荐系统 #1:概述及环境构建
【错误记录】Python 中使用 PySpark 数据计算报错 ( SparkException: Python worker failed to connect back. )
os.environ['PYSPARK_PYTHON'] 的值设置为 你自己电脑上的 python.exe 绝对路径即可 , 不要按照我电脑上的 Python 解释器路径设置 ;
韩曙亮
2023/10/11
2K0
【错误记录】Python 中使用 PySpark 数据计算报错 ( SparkException: Python worker failed to connect back. )
Jupyter在美团民宿的应用实践
做算法的同学对于Kaggle应该都不陌生,除了举办算法挑战赛以外,它还提供了一个学习、练习数据分析和算法开发的平台。Kaggle提供了Kaggle Kernels,方便用户进行数据分析以及经验分享。在Kaggle Kernels中,你可以Fork别人分享的结果进行复现或者进一步分析,也可以新建一个Kernel进行数据分析和算法开发。Kaggle Kernels还提供了一个配置好的环境,以及比赛的数据集,帮你从配置本地环境中解放出来。Kaggle Kernels提供给你的是一个运行在浏览器中的Jupyter,你可以在上面进行交互式的执行代码、探索数据、训练模型等等。更多关于Kaggle Kernels的使用方法可以参考 Introduction to Kaggle Kernels,这里不再多做阐述。
美团技术团队
2019/12/04
2.6K0
写py2、py3兼容的代码
写py2、py3兼容的代码 用到一段时间python,之前也重点复习了一次python3。但工作中运行环境是python2.7,于是要求写出py2、py3都兼容的代码。下面将涉及到的几点技巧列举出来以备忘。 print函数 py3中print语句没有了,取而代之的是print()函数。 Python 2.6与Python 2.7部分地支持这种形式的print语法。因此保险起见,新写的代码都使用print函数。 from __future__ import print_function print("fish
jeremyxu
2018/05/10
2.5K0
第二章、深入类和对象
2.1.鸭子类型和多态 “当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。”  我们并不关心对象是什么类型,到底是不是鸭子,只关心行为。 实例一: # 鸭子类型和多态简单实例 class Dog(object): def say(self): print('a dog') class Cat(object): def say(self): print('a cat') class Duck(object):
zhang_derek
2018/05/30
9360
Python基础(九) | time random collections itertools标准库详解
(2)time.perf_counter()   随意选取一个时间点,记录现在时间到该时间点的间隔秒数,记录sleep
timerring
2022/10/06
6640
Python基础(九) | time random collections itertools标准库详解
Python3.x和Python2.x的区别
http://www.cnblogs.com/codingmylife/archive/2010/06/06/1752807.html
bear_fish
2018/09/20
9340
CentOS8.0下安装PaddlePaddle后ImportError: cannot import name 'collections_abc'
用腾讯云轻量服务器带的系统镜像CentOS8.0系统安装paddlepaddle 直接 $ pip install paddlepaddle 然后在Python解释器里面输入 import paddle 然后就会有错误: ImportError: cannot import name 'collections_abc' 或者其他等等,原因可能是轮子的版本太旧了,需要更新一下。 简单粗暴的卸载再装上( $ pip uninstall six $ pip install six $ pip uninstall
bywjge
2021/06/11
2.9K0
Python 工匠:容器的门道
https://www.zlovezl.cn/articles/mastering-container-types/
用户2196567
2019/03/04
7850
Python 容器使用的 5 个技巧和 2 个误区
在 Python 中,有四类最常见的内建容器类型: 列表(list)、 元组(tuple)、 字典(dict)、 集合(set)。通过单独或是组合使用它们,可以高效的完成很多事情。
一墨编程学习
2019/07/14
8290
Python2和Python的区别那个版
想学习Python的人都会有一个困惑,那就是Python目前有两个版本Python2和Python3,Python2与Python3有何区别,两个版本该学习哪个呢?
py3study
2020/01/09
8430
解决ImportError: cannot import name 'pywrap_tensorflow'
在使用 TensorFlow 进行开发和训练深度学习模型时,有时候可能会遇到 ​​ImportError: cannot import name 'pywrap_tensorflow'​​ 这个错误。这个错误通常是由于 TensorFlow 版本不兼容或没有正确安装所引起的。本文将介绍如何解决这个错误。
大盘鸡拌面
2023/10/20
7760
Caffe2 - (三十三) Detectron 之 roi_data - data loader
Caffe2 - (三十三) Detectron 之 roi_data - data loader 1. loader.py Detectron data loader.py 是通用设计,与 minibatch 的实现细节无关. 多线程的数据加载. minibatch 是字典形式,存储了 blob name keys 和对应的 numpy (float32 或 int32) ndarray values. 设计结构: loader thread\ loader thread \
AIHGF
2018/05/17
1.1K0
Python工匠:解析容器类型的门道
花下猫语:年关已近,我本周忙得天昏地暗,忙中出了不少错,喵了个去。无论如何,希望大伙是买票顺顺利利的,回家安安全全的,过年是开开心心的。今天,给大家分享的是一篇很长的好文,祝大家阅读愉快。PS:本文是该系列的第四篇,其它文章也很好,文末附了链接,可关联阅读哦~
Python猫
2019/04/09
8340
推荐阅读
相关推荐
python中的数据结构
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验