栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

问题解决 AttributeError: module ‘google.protobuf.internal.containers‘ has no attribute ‘MutableMapping‘

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

问题解决 AttributeError: module ‘google.protobuf.internal.containers‘ has no attribute ‘MutableMapping‘

在运行的主函数中,导入自己设定的.py文件(设置的一个类),或者导入tensorflow包时,会出现问题:AttributeError: module 'google.protobuf.internal.containers' has no attribute 'MutableMapping'。

解决方法:

(一)检查protoc和protobuf的版本是否一致

1.这里用的是anaconda3, 在开始处找到anaconda3(64 bit)文件下的anaconda prompt,打开。

2.打开之后是下面的。(注意:这里与从电脑中用Win+R打开的运行窗口中输入cmd的不一样)

从anaconda prompt 打开的

 用Win+R打开的运行窗口中输入cmd的(不一样的)

3.因为自己当初在pycharm中环境配置时,专门设置了一个文件夹为tensorflow-1.13.2(用来将所有下载的库放进来),我所有的程序也是基于此文件夹配置的,所以我需要先打开该文件夹,再查看protoc和protobuf的版本。

先打开该文件夹:输入 conda activate tensorflow-1.13.2后会出现(tensorflow-1.13.2)即表明进入设置的文件夹中

进入文件中,先后输入 protoc --version ; 再输入 pip show protobuf 。分别查看protoc和protobuf的版本,如果不一样,就安装一样即可。如果一样,问题还没有解决,就看第二种方法。

 

(二)查看源文件,这里注意,因为我设有自己专门管理库的文件,并设在D盘

文件的路径是:

’D:/anaconda3/envs/tensorflow-1.13.2/Lib/site-packages/google/protobuf/internal/container.py’

(注意:前面标红的地址,一定要对应平常库下载的地址或者对应程序运行环境的地址,前面的地址因每个人的设置也都不同)

中添加一行代码:
from collections.abc import MutableMapping 即可

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/834984.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号