2016-06-16 50 views
-1
**Python Version = 2.6.6** 

**numpy version = 1.3.0** 

**** The python file dokmeans.py is located in /home/cloudera**** 






Welcome to 
      ____    __ 
     /__/__ ___ _____/ /__ 
     _\ \/ _ \/ _ `/ __/ '_/ 
     /__/.__/\_,_/_/ /_/\_\ version 1.3.0 
      /_/ 

    Using Python version 2.6.6 (r266:84292, Feb 22 2013 00:00:18) 
    SparkContext available as sc, HiveContext available as sqlCtx. 
    >>> exec(open('dokmeans.py').read()) 
    Traceback (most recent call last): 
     File "<stdin>", line 1, in <module> 
     File "<string>", line 5, in <module> 
     File "/usr/lib/spark/python/pyspark/mllib/__init__.py", line 26, in <module> 
     raise Exception("MLlib requires NumPy 1.4+") 
    Exception: MLlib requires NumPy 1.4+ 
    >>> from pyspark.mllib.clustering import KMeans,KMeansModel 
    Traceback (most recent call last): 
     File "<stdin>", line 1, in <module> 
     File "/usr/lib/spark/python/pyspark/mllib/__init__.py", line 26, in <module> 
     raise Exception("MLlib requires NumPy 1.4+") 
    Exception: MLlib requires NumPy 1.4+ 

回答

1

那麼,錯誤代碼說的都是。爲了使用MLlib,你需要安裝numpy 1.4。你已經安裝了1.3。

+0

如何安裝numpy 1.4? –

+0

你必須閱讀這個https://pypi.python.org/pypi/numpy/1.4.0 – eliasah

+0

我發現這很混亂,你可以請幫我在unix系統中安裝numpy 1.4。 –

-1

mllib代碼中存在一個錯誤,它不能正確解釋numpy版本。它將1.10解釋爲1.1,因此對numpy版本的檢查失敗。

請更改以下文件 /usr/lib中/火花/蟒蛇/ pyspark/mllib/初始化的.py

從代碼:

**if numpy.version.version < '1.4':** 
raise Exception("MLlib requires NumPy 1.4+") 

到:

ver = [int(x) for x in numpy.version.version.split('.')[:2]] 
if ver < [1, 4]: 
    raise Exception("MLlib requires NumPy 1.4+") 
+0

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/13297973) –

+2

我做了所需的chnages,希望這是可以接受的.. –

相關問題