一個無語的晚上。
事情是這樣的,在公司電腦上寫好了代碼,運行沒問題,回家后卻在import這一步就報錯,可是兩邊電腦明明是同一個安裝包,同一種安裝方式的啊……
ImportError: cannot import name 'comb'
關于這個報錯,百度了下資料太少,說是“scipy.misc中的comb位置已經(jīng)移到scipy.special中”,可能跟更新了什么包的版本有關,一想,今天早晨出現(xiàn)其他報錯的時候按照教程一股腦升級了幾個包,難道是升級出問題了???

根據(jù)百度到的資料,看了下目前可能有問題的兩個包的版本:
import scipy; print("SciPy", scipy.__version__)
import sklearn; print("Scikit-Learn", sklearn.__version__)
顯示:
SciPy 1.5.2
Scikit-Learn 0.18.2
SciPy是現(xiàn)在的最新版本,但Scikit-Learn不是,網(wǎng)上說SciPy1.2.1版本更好一點,暫時不管,先把Scikit-Learn升級到現(xiàn)在最新版本0.23.2:
pip install --upgrade sklearn
運行,果然沒有“ImportError: cannot import name 'comb'??”了,但又出現(xiàn)下面的問題:ImportError: cannot import name 'logsumexp'……

原因依舊是新版本的scipy,misc 中已經(jīng)移除了logsumexp,改到scipy.special中了,看來還是得降級。
百度到的一段話,scipy1.2.X的版本提及率太高了,就回滾到這個版本吧,可直接pip特別慢,還總是安裝到一半就報錯……

無奈之下找了這么個鏈接,幾秒鐘就安裝好了:
?pip install scipy==1.2.1 -i ?https://pypi.tuna.tsinghua.edu.cn/simple/
重啟jupyter,果然運行成功了,沒有再報錯!
總結(jié):只要把scipy回滾到低版本(如1.2.1)就可以解決!這么簡單的事搞了一晚上,小白的進階之路充滿了各種無語,記錄一下。這次也帶來了一點教訓——不到萬不得已,別輕易升級包,不然各種包不兼容就慘了~