ImportError: cannot import name 'comb'以及 'logsumexp'的解決方式

一個無語的晚上。

事情是這樣的,在公司電腦上寫好了代碼,運行沒問題,回家后卻在import這一步就報錯,可是兩邊電腦明明是同一個安裝包,同一種安裝方式的啊……

ImportError: cannot import name 'comb'

關于這個報錯,百度了下資料太少,說是“scipy.misc中的comb位置已經(jīng)移到scipy.special中”,可能跟更新了什么包的版本有關,一想,今天早晨出現(xiàn)其他報錯的時候按照教程一股腦升級了幾個包,難道是升級出問題了???

ImportError: cannot import name 'comb'

根據(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'……

ImportError: cannot import name 'comb'??

原因依舊是新版本的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)就可以解決!這么簡單的事搞了一晚上,小白的進階之路充滿了各種無語,記錄一下。這次也帶來了一點教訓——不到萬不得已,別輕易升級包,不然各種包不兼容就慘了~

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容