省流:python版本更新 而一些生态库的变量命名没更新变化导致的问题
起因是在win环境下装spark 但是发现这是python底层的问题
于是想写一篇这个错误的博客警戒世人 py实在是太多生态库了
但并不是所有的都维护的很好
大概可以理解成
python原先有个东西叫collecttions 然后py在3.3之后就把他改名成了_collections_abc
所以就有各种各样的问题!因为问题来自于底层
最简单的解决办法:
根据报错找到最下面那一行
例如我的:
python">E:\Spark\spark-2.2.0-bin-hadoop2.7\python\lib\py4j-0.10.4-src.zip\py4j\java_collections.py:132 """3 Module responsible for converting Java collection classes to Python collection4 classes. This module is optional but loaded by default.(...)9 :author: Barthelemy Dagenais10 """11 from __future__ import unicode_literals, absolute_import
---> 13 from collections import (14 MutableMapping, Sequence, MutableSequence,15 MutableSet, Set)16 import sys18 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下的 所以我需要把他解压出来 用编辑器打开 修改 保存 然后再重新打包回去
这个做法能解决所有的这种问题 从根源出发!