[英]ModuleNotFoundError: No module named 'sklearn'
我想導入 sklearn 但顯然沒有模塊:
ModuleNotFoundError: No module named 'sklearn'
我正在使用 Anaconda 和Python 3.6.1
; 我到處都檢查過,但仍然找不到答案。
當我使用命令時: conda install scikit-learn
這不就可以了嗎?
anaconda在哪里安裝package?
我正在檢查我的 python 庫中的框架,只有 numpy 和 scipy 沒有關於 sklearn 的信息。
請幫忙,我剛開始使用 python 包,尤其是通過 anaconda。
您可以只使用pip
來安裝軟件包,即使您使用的是anaconda :
pip install -U scikit-learn scipy matplotlib
這應該適用於安裝軟件包。
對於Python 3.x ,只需使用pip3
:
pip3 install -U scikit-learn scipy matplotlib
簡單的介紹
使用 Anaconda 時,需要了解自己工作的環境。
然后,在 Anaconda Prompt 中需要運行以下命令
conda $command -n $ENVIRONMENT_NAME $IDE/package/module
$command - 一個人打算使用的命令(參考文檔了解一般命令)
$ENVIRONMENT NAME - 一個環境的名稱(如果一個在根目錄下工作, conda $command $IDE/package/module
就足夠了)
$IDE/package/module - IDE 或包或模塊的名稱
解決方案
將留下以下兩個可能有助於解決問題的選項。
選項1
如果想將它安裝在根目錄中並且遵循要求-(Python(> = 2.7或> = 3.4),NumPy(> = 1.8.2),SciPy(> = 0.13.3)。)-以下將解決這個問題:
conda install scikit-learn
假設有人在名為ML的環境中工作。
那么以下將解決一個人的問題:
conda install -n ML scikit-learn
注意:如果需要安裝/更新包,邏輯與介紹中提到的相同。 如果您需要有關Anaconda 軟件包的更多信息,請查看文檔。
選項 2
如果上述方法不起作用,在 Anaconda Prompt 上也可以使用 pip (這里是如何 pip install scikit-learn )所以以下內容可能會有所幫助
pip install scikit-learn
如果您使用帶有 python3.xxx 的 Ubuntu 18.04 或更高版本,請嘗試此命令
$ sudo apt install python3-sklearn
然后試試你的命令。 希望它會工作
我做了以下事情:
import sys
!{sys.executable} -m pip install sklearn
我嘗試了很多東西,但最后,包括使用自動化工具卸載。 所以,我已經手動卸載了 scikit-learn。
sudo rm -R /home/ubuntu/.local/lib/python3.6/site-packages/sklearn
sudo rm -R /home/ubuntu/.local/lib/python3.6/site-packages/scikit_learn-0.20.0-py3.6.egg-info
並使用 pip 重新安裝
sudo pip3.6 install -U scikit-learn
希望可以幫助別人!
這發生在我身上,我嘗試了所有可能的解決方案,但沒有運氣!
最后我意識到問題出在 Jupyter notebook 環境,而不是 sklearn!
我通過在與 sklearn 相同的環境中重新安裝 Jupyter 解決了這個問題
命令是: conda install -c anaconda ipython
。 完畢...
anaconda 中 sklearn 的另一個名稱是 scikit-learn。 只需打開您的 anaconda 導航器,轉到環境,選擇您的環境,例如 tensorflow 或任何您想使用的環境,在已卸載軟件包列表中搜索 scikit_learn,應用它,然后您可以在 jupyter 中導入 sklearn。
解決了:
以上沒有幫助。 然后我只是從 Jypyter-lab 中安裝了 sklearn,即使 sklearn 0.0 顯示在“pip list”中:
!pip install sklearn
import sklearn
我后來了解到的是,就我而言,pip 將軟件包安裝在與 Jupyter 不同的文件夾中。 這可以通過執行:
import sys
print(sys.path)
一次從 Jupyter_lab 筆記本中,一次從命令行使用“py notebook.py”。
在我的情況下,Jupyter 的路徑列表中包含“anaconda”的子文件夾,而 Python 的列表中的子文件夾位於 c:\users[username]...
在 Windows 上,我有 python 3+ 版本。 pip 版本 - 22.3.1
我安裝了:
pip install sklearn
但是,它似乎已被 scikit-learn 棄用。
所以我做了:
pip install scikit-learn
而且,它奏效了!!!
Conda 和 pip 在 ~/anaconda3/envs/$ENV/lib/python3.7/site-packages 下安裝 scikit-learn,但是 Jupyter notebook 在 ~/anaconda3/lib/python3.7/site-packages 下查找包。
因此,即使將環境指定為 conda,它也不起作用。
conda install -n $ENV scikit-learn # Does not work
pip 3 在 ~/anaconda3/lib/python3.7/site-packages 下安裝包。
在 pip3 之后,在 Jupyter 筆記本中。
import sklearn
sklearn.__file__
~/anaconda3/lib/python3.7/site-packages/sklearn/ init .py'
安裝這些 ==>> pip install -U scikit-learn scipy matplotlib 如果仍然出現相同的錯誤,請確保您的 imoprted 陳述應該是正確的。 我在寫合奏時犯了錯誤,(檢查拼寫)它應該是 >>> from sklearn.ensemble import RandomForestClassifier
我和作者遇到了同樣的問題,無論有沒有 Anaconda,也不管 Python 版本如何,我都遇到了這個問題。 每個人的環境都不一樣,但是在自己解決之后,我認為在某些情況下可能是由於安裝了多個版本的 Python。 每個安裝的 Python 版本都有自己的 \Lib\site-packages\ 文件夾,其中可以包含該 Python 版本的一組唯一模塊,並且 IDE 會在其中查找沒有 scikit-learn 的文件夾路徑。
嘗試解決問題的一種方法:您可能會清除系統中所有其他 Python 版本及其緩存/臨時文件/系統變量,然后在任何地方只安裝一個版本的 Python。 然后安裝依賴項 Numpy 和 Scipy,最后安裝 Scikit-learn。
更詳細的步驟:
正如其他一些人所建議的那樣,關鍵是確保您的環境設置正確,其中所有內容都指向您計算機上 Sklearn 包所在的正確庫文件夾。 有幾種方法可以解決這個問題。 我的方法更加激進,但事實證明我的系統上有一個非常混亂的 Python 設置,所以我不得不重新開始。
使用 Anaconda-navigator UI 環境
運行 Anaconda-navigator 時:
選擇左側的“環境”選項卡並創建一個新環境(例如 ML - 請參閱上面的 Gonçalo Peres 回答,我制作了一個名為“CourseraML”的環境)。
設置 Python 版本 3.7(適用於 Coursera 課程Applied Machine Learning in Python )。 還包括 R。
然后使用“未安裝”下拉菜單項查找要安裝的模塊。 在搜索欄中搜索所需的每個模塊並選擇。 sklearn是scikit-learn 的一部分。 選擇它並安裝(它應該找到所有相關的依賴項)。 Applied ML 課程所需的模塊:seaborn、numpy、scikit-learn、pandas、matplotlib
您需要重新啟動 Jupyter Notebook 並重新打開您的文件。
上面的命令行版本:
conda install -n CourseraML seaborn scikit-learn pandas numpy matplotlib graphviz
原因- 您的 jupyter notebook 可能從另一個位置(路徑)導入 sklearn 和其他庫,而不是來自 conda 或 pip 的庫。
我的問題就我而言,我的 jupyter notebook 正在為 snap manager 導入庫。 因為,我使用 snap 而不是其他方式安裝 jupyter。
您可以使用以下代碼檢查其他庫在 jupyter 中的導入位置:
import cv2 as cv
print(cv.__file__)
解決方案因此,我卸載了 jupyter notebook,然后使用 conda 安裝 notebook。
sudo snap remove jupyter
conda install -c conda-forge notebook
我有同樣的問題。 問題是當我們在多個 anaconda 環境中工作時,並非所有軟件包都安裝在所有環境中。 您可以通過在 anaconda 提示符中編寫以下代碼來檢查您的 conda 環境:
conda 環境列表
然后您可以檢查每個環境中安裝的軟件包:
conda list -n NAME_OF_THE_ENVIRONMENT
對我來說,我正在使用的環境缺少 sklearn,盡管該軟件包已安裝在其他環境中。
因此,我只是簡單地在那個特定環境中安裝了 sklearn 包
conda install -n NAME_OF_THE_ENVIRONMENT scikit-learn
問題已解決
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.