报错 之 from typing import OrderedDict ImportError: cannot import name ‘OrderedDict‘ from ‘typing‘
from typing import OrderedDict ImportError: cannot import name 'OrderedDict' from 'typing' (E:\Python\lib\typing.py)。
????????這樣一個問題在網(wǎng)上沒有搜到想要的答案,因此仔細(xì)看了報錯的源碼,發(fā)現(xiàn)在"E:\Python\lib\site-packages\git\config.py", 的48 行 from typing import OrderedDict 報錯,我們看報錯的地方,會發(fā)現(xiàn),這里是一個 if 判斷語句:
很明顯,我們的代碼走了第二個分支,因此去E:\Python\lib\typing.py查看發(fā)現(xiàn),typing.py里的確沒有這樣一個類。說明sys.version_info[:2]的輸出 >= (3, 7)。這里的sys.version_info其實(shí)就是我們的python版本,說明大于等于3.7的python版本會走第二分支,但是配套的typing.py中沒有OrderedDIct這個類,因此會報這樣一個錯誤,這里涉及的其實(shí)是版本不匹配的問題,但是暫不能確定是哪個包的版本不對應(yīng)(另外我查到只有python版本大于3.5才可以正常使用typing)。因?yàn)槲业膒ython版本是3.7.1,因此就這樣修改代碼:
if sys.version_info[:2] <= (3, 7): # 注意等號from collections import OrderedDictOrderedDict_OMD = OrderedDict # else:# from typing import OrderedDict# OrderedDict_OMD = OrderedDict[str, List[_T]]這樣代碼就可以繼續(xù)運(yùn)行了。
?
總結(jié)
以上是生活随笔為你收集整理的报错 之 from typing import OrderedDict ImportError: cannot import name ‘OrderedDict‘ from ‘typing‘的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Numpy中求向量和矩阵的范数
- 下一篇: python 之 click 包,设置命