報錯 ImportError: No module named model_selection 的解決辦法

win10下運行了一段Python代碼,出現了報錯, 報錯是ImportError: No module named model_selection。我定位代碼到import sklearn.model_selection,我才知道原來我沒有這個model。

我在網上找了一下解決方法,原來是scikit-learn的版本太低。在anaconda中通過命令行查看sklearn的版本爲 0.17.1,而 sklearn.model_selection 是 sklearn 版本 0.18.1 以上的。那麼我升級一下 scikit-learn 應該就可以了。


步驟如下所示:

1、在cmd環境下輸入:conda list,就可以查看所有安裝庫的版本了;


2、0.17.1版本的 scikit-learn 版本太低,得更新爲 0.18 版本的 scikit-learn 。

      cmd 環境下輸入:conda update scikit-learn


3、提示是否進行,輸入:y


其實步驟到這裏,已經可以了。

但是,但是我發現我update的速度超級慢,有點不可思議,而且在最後竟然告訴我沒有安裝成功。



我上網查得原因是官網的鏡像在境外,所以直接update可能會比較慢或者不能訪問,說明這個報錯跟我的源有關,所以我就把我的源改成了清華大學的鏡像源。

cmd環境下,輸入:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
                                conda config --set show_channel_urls yes


之後呢,我就再次update scikit-learn,以便升級版本到 0.18。

步驟還是和剛剛的一樣:

1、在cmd環境下,升級版本:conda update scikit-learn

2、提示是否進行:y


升級完成後,要確認一下版本是否升級完成。

cmd環境下,輸入:conda list


版本正確,那麼我就在python環境下試下。



總結一下:

1、出現報錯ImportError: No module named model_selection 的解決辦法是升級 scikit-learn 的版本;

2、update官網在境外的庫時,最好是找找看有沒有國內的鏡像源,比如清華大學的鏡像源或者豆瓣、阿里雲等等;


另外,其中可能會報權限錯誤:


根據提示來就行。


自己把sklearn更新爲0.19版本,並把“from sklearn.model_selection import cross_val_predict”更改爲以下這句就可以了:
from sklearn.cross_validation import cross_val_predict


發佈了10 篇原創文章 · 獲贊 67 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章