唉,先给大家讲个故事听!由于小张昨天被迫需要将Anaconda环境迁移至一个新的磁盘,在博客上查了超级多的资料,终于把环境迁移成功了,但这个时候我的python项目在选择解释器时,却一直出错,一直显示选择的解释器无效!搞了半天给我整的脑袋都大了,想着在下班之前一定要解决这个问题,但……我高估自己了!问题解决未果。。。然后我想着加班继续搞,结果越弄脑子越乱,也没解决问题。
今天早上一心就想赶紧解决问题,果然早上是头脑最清晰的时候,三下五除二,就把昨天冥思苦想的难题给解决了!赶紧趁着闲了会,来记录一下~
**ImportError: cannot import name ‘OrderedDict‘ from ‘typing‘**这个问题起源于function_type.py文件中的第19行语句:
到这个typing文件中去看,果然没有OrderedDict这样一个类,网上提醒说python3.8版本及以下,都可以通过安装typing_extensions来解决问题,说它相当于是对typing的一个补丁文件,里面会增加一些typing里面没有的东西,安装命令如下:
pip install typing_extensions
然后针对上述报错的function_type.py文件,我们进行如下修改,也就是不从typing中导入OrderedDict模块,而是从typing_extensions中导入OrderedDict模块,即可解决问题。
总结:实际上是因为在python3.7.0中,它的typing模块中没有OrderedDict,但是在python3.7.4中,typing模块中包含OrderedDict,可以直接通过 from typing import OrderedDict 命令导入。