2012-08-08 40 views
2

我得到的错误如下:破碎numpy的/ SciPy的安装(蟒蛇,Ubuntu的10.04)

$ python -c 'from sklearn import preprocessing' 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
    File "/usr/local/lib/python2.6/dist-packages/scikit_learn-0.10-py2.6-linux-x86_64.egg/sklearn/preprocessing/__init__.py", line 17, in <module> 
    from ..utils.sparsefuncs import inplace_csr_row_normalize_l1 
    File "numpy.pxd", line 174, in init sklearn.utils.sparsefuncs (sklearn/utils/sparsefuncs.c:4605) 
ValueError: numpy.ndarray has the wrong size, try recompiling 

我相信这是numpy而非scikitlearn错误(见here

我使用的是使用git clone安装的scipynumpy的开发版本(并且工作正常)。不过,我需要“降级”到发布的稳定版本。所以我删除了git文件夹,并从/usr/local/lib/python-2.6/中删除了egg文件。 (为了安全起见),然后我做:

$ sudo apt-get install libblas-dev liblapack-dev 
$ sudo apt-get install python-dev python-numpy python-scipy 
$ sudo easy_install -U distribute 
$ sudo easy_install -U numpy 
$ sudo easy_install -U scipy 

无论是过去两年的给我的警告......

RuntimeWarning: Parent module 'numpy.distutils' not found while handling absolute import 

...我不知道这是怎么回事错在这里?

$ python -c 'import numpy; print numpy.__version__' 
1.6.2 

$ python -c 'import scipy; print scipy.__version__' 
0.10.1 

我试过删除apt安装版本,但似乎没有帮助。这是Ubuntu 10.04(透明)2.6.32-21-server内核

+0

你重新编译重新安装numpy的后scikit学习? – 2012-08-08 16:24:06

+1

以为我有,但显然不是......'sudo easy_install -m scikit-learn'然后是'sudo easy_install -U scikit-learn'修复它,谢谢! – tdc 2012-08-08 16:31:00

回答