目录
一、ValueError: unsupported pickle protocol: 5
二、报错protobuf
三、AttributeError: The vocab attribute was removed from KeyedVector in Gensim 4.0.0
四、ModuleNotFoundError: No module named 'cartopy'
五、ImportError: cannot import name 'COMMON_SAFE_ASCII_CHARACTERS' from 'charset_normalizer.constant' (/data2/YanTianzi/miniconda3/envs/graph/lib/python3.8/site-packages/charset_normalizer/constant.py)
六、ImportError: cannot import name 'TopologicalError' from 'shapely.geos'
一、ValueError: unsupported pickle protocol: 5
报错:使用pickle.load(f)
读取pkl文件的时候,报错ValueError: unsupported pickle protocol: 5
原因:由于保存pkl文件的版本是python3.8,而读取的时候用了python3.7来读取,所以才会报错。
解决方法:保存和读取pkl文件用同样的python版本。
二、报错protobuf
原因:出现这个问题的主要原因是protobuf版本不匹配。
解决方法:因此,按照错误提示,用pip安装对应版本的protobuf即可,如上述问题中对应的 3.20.1版本。安装命令为:
pip install protobuf==3.20.1
三、AttributeError: The vocab attribute was removed from KeyedVector in Gensim 4.0.0
报错:
原因:gensim版本问题
解决方法:安装gensim的3版本
pip install gensim==3.7.3 -i http://pypi.douban.com/simple/
四、ModuleNotFoundError: No module named 'cartopy'
解决方法:由于pip install cartopy安装不成功
采用conda的方法进行安装,就成功安装了。
五、ImportError: cannot import name 'COMMON_SAFE_ASCII_CHARACTERS' from 'charset_normalizer.constant' (/data2/YanTianzi/miniconda3/envs/graph/lib/python3.8/site-packages/charset_normalizer/constant.py)
报错:
原因:这个报错可能是由于charset_normalizer模块的版本问题引起的。
解决方法:这个报错可能是由于charset_normalizer模块的版本问题引起的。
尝试更新charset_normalizer模块到最新版本,或者使用较旧的版本,看看是否可以解决问题。您可以尝试以下命令更新模块:
pip install --upgrade charset-normalizer
如果仍然无法解决问题,请尝试卸载charset_normalizer模块,然后重新安装:
pip uninstall charset-normalizer
pip install charset-normalizer
如果问题仍然存在,请检查您的代码中是否存在语法错误或其他问题,或者尝试在其他环境中运行代码。
六、ImportError: cannot import name 'TopologicalError' from 'shapely.geos'
报错:当我想导入osmnx时,出现这个错误。
原因:可能是由于shapely版本问题导致的。python环境是3.8,我的osmnx安装版本是1.2.2,所以要求shapely版本范围是大于等于1.8,小于2.8。但是我安装的shapely版本是1.8.5.post1,按道理来说也是符符合这个范围的,不知道为什么。
解决方法:没办法,试试shapely1.8.2的版本,
我重新安装了shapely1.8.2,发现不报错了。