2012-07-13 28 views
8

Tôi đã cố gắng cài đặt scikit-learn trên Linux Mint 12 nhưng không thành công. Tôi đã tải xuống gói từ http://pypi.python.org/pypi/scikit-learn/ và được cài đặt vớiKhông thể nhập Scikit-Learn

sudo python2.7 setup.py install 

Sau đó tôi đã thay đổi thư mục thành trang chủ và khởi động shell python2.7. Khi nhập sklearn tôi nhận được:

>>> import sklearn 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7: RuntimeWarning: 
numpy.dtype size changed, may indicate binary incompatibility 
    from ckdtree import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7: RuntimeWarning: 
numpy.ndarray size changed, may indicate binary incompatibility 
    from ckdtree import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7: RuntimeWarning: 
numpy.ufunc size changed, may indicate binary incompatibility 
    from ckdtree import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:8: RuntimeWarning: 
numpy.dtype size changed, may indicate binary incompatibility 
    from qhull import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:8: RuntimeWarning: 
numpy.ndarray size changed, may indicate binary incompatibility 
    from qhull import * 
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:8: RuntimeWarning: 
numpy.ufunc size changed, may indicate binary incompatibility 
    from qhull import * 

Tôi nghĩ rằng vấn đề là do không gian của sciper. Điều này là do khi tôi làm

>>> from scipy import spatial 

Tôi nhận được lỗi tương tự mà tôi nhận được cho Scikit-learn.

Vui lòng trợ giúp. Cảm ơn bạn.

CHỈNH SỬA: Lỗi mới.

>>> import sklearn 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/__init__.py", line 17, in <module> 
    from .base import clone 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/base.py", line 11, in <module> 
    from .metrics import r2_score 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/metrics/__init__.py", line 6, in <module> 
    from .metrics import confusion_matrix, roc_curve, auc, precision_score, \ 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/metrics/metrics.py", line 17, in <module> 
    from ..utils import check_arrays 
    File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux- 
x86_64.egg/sklearn/utils/__init__.py", line 9, in <module> 
    from .murmurhash import murmurhash3_32 
    File "numpy.pxd", line 174, in init sklearn.utils.murmurhash (sklearn/utils 
/murmurhash.c:4776) 
ValueError: numpy.ndarray has the wrong size, try recompiling 

Trả lời

8

Tôi không thực sự chắc chắn, nhưng theo this lỗi xảy ra khi một gói mà phụ thuộc vào numpy được biên soạn nhắm mục tiêu một phiên bản cụ thể (hoặc một nền tảng cụ thể), và gói phần mềm đó sau đó được cài đặt trong một khác nhau môi trường. Làm thế nào bạn cài đặt hai gói đó? (numpy and scipy)

Tôi khuyên bạn nên gỡ cài đặt cả hai và sau đó cài đặt lại SciPy, hoặc using pip hoặc from source.

+0

cảm ơn mgibsonbr. Tôi cài đặt lại scipy và gumpy từ nguồn. Sau đó 'từ không gian nhập khẩu scipy không đưa ra lỗi. Nhưng, khi nhập sklearn tôi gặp lỗi khác. Tôi đang viết lỗi ở trên. – Rishi

+1

Tôi đã cài đặt lại scikit-learn bằng 'pip install -U scikit-learn' và sau đó quá trình nhập đã hoạt động. Cảm ơn bạn. :) – Rishi

+0

@Rishi Điều đó không hiệu quả đối với tôi. Tôi vẫn nhận được '/usr/local/lib/python2.7/dist-packages/scipy/spatial/__init__.py:91: Thay đổi kích thước RuntimeWarning: numpy.ufunc, có thể cho biết sự không tương thích nhị phân từ .qhull import *' –

1

Tôi đã gặp phải điều này hôm nay trên OS X El Capitan. Thật không may, cài đặt lại/cài đặt không hoạt động, vì vấn đề đã kết thúc là bản cài đặt có phần cứng nhắc đến OS X đã được ưu tiên hơn so với cài đặt được cài đặt bởi pip.

tôi đã có thể giải quyết việc này bằng cách làm theo hướng dẫn tại: https://apple.stackexchange.com/a/223163

Đặc biệt, tôi sử dụng phương pháp sửa chữa con đường python để thích thư viện pip trên OS X thư viện bản địa:

Tạo một file gọi fix_mac_path.pth trong /Library/Python/2.7/site-packages đã điều sau đây:

import sys; std_paths=[p for p in sys.path if p.startswith('/System/')]; sys.path=[p for p in sys.path if not p.startswith('/System/')]+std_paths