2017-01-14 83 views
1

我試圖運行Skikit通過Spyder的學習上的蟒蛇從..utils.fixes導入rankdata導入錯誤:無法導入名稱 'rankdata' MongoDB的

C:\Anaconda3>conda --version 
conda 4.3.4 
C:\Anaconda3>python --version 
Python 3.5.2 :: Anaconda 4.0.0 (64-bit) 
Spyder 2.3.8 

我儘量做到以下幾點:

print("Scikit-Learn", sklearn.__version__) 
NameError: name 'sklearn' is not defined 
from sklearn.model_selection import * 
from ..utils.fixes import rankdata 
ImportError: cannot import name 'rankdata' 
Errors 

任何想法爲什麼這個錯誤是在Anaconda中出現,它顯示了包的存在,但是當我運行Spyder時,它會出現上述錯誤。

回答

1

當您使用蟒蛇嘗試:

conda update scikit-learn 

康達會盡力處理日的依賴性,而它可能會更新包等。

如果這不起作用,在位於<Anaconda_basedir>\lib\python3.5\site-packages\sklearn\utils文件fixes.py有一行if sp_version < (0,13, 0):哪些條件,如果SciPy的版本低於0.13.0的rankdata進口。

由於某些原因,如果版本大於0.13.0,應使用scipy.stats中的rankdata。但是,至少在我的情況下不是,我所做的就是添加一個and False,以便從scipy獲得rankdata

的最後一行是:

... 
if sp_version < (0, 13, 0) and False: 
    def rankdata(a, method='average'): 
... 
+0

感謝@GurstTavo我重新啓動我的機器了幾次,之後Scikit瞭解開始工作。 –

+0

不知道爲什麼重新啓動解決了問題 –

相關問題