2016-06-16 49 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,希望这是可以接受的.. –

相关问题