Ich versuche, python's scikit learn
für etwas maschinelles Lernen zu installieren, und es scheint, es erfolgreich zu machen (d. H. Es ist bereits installiert). Jedoch, wenn ich versuche, es tatsächlich in python
im Terminal zu verwenden, gibt es mir einen Fehler, wie unten gezeigt.Wo installiert `pip` Bibliotheken im Vergleich zu 'python` aus dem Terminal?
23:39 $ sudo pip install sklearn
The directory '/Users/username/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/username/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting sklearn
Requirement already satisfied (use --upgrade to upgrade): scikit-learn in /Library/Python/2.7/site-packages (from sklearn)
Installing collected packages: sklearn
Successfully installed sklearn-0.0
✔ /usr/bin
23:42 $ python
Python 2.7.12rc1 (v2.7.12rc1:13912cd1e7e8, Jun 11 2016, 15:32:34)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sklearn
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/sklearn/__init__.py", line 57, in <module>
from .base import clone
File "/Library/Python/2.7/site-packages/sklearn/base.py", line 11, in <module>
from .utils.fixes import signature
File "/Library/Python/2.7/site-packages/sklearn/utils/__init__.py", line 11, in <module>
from .validation import (as_float_array,
File "/Library/Python/2.7/site-packages/sklearn/utils/validation.py", line 16, in <module>
from ..utils.fixes import signature
File "/Library/Python/2.7/site-packages/sklearn/utils/fixes.py", line 324, in <module>
from scipy.sparse.linalg import lsqr as sparse_lsqr
File "/usr/local/lib/python2.7/site-packages/scipy/sparse/linalg/__init__.py", line 112, in <module>
from .isolve import *
File "/usr/local/lib/python2.7/site-packages/scipy/sparse/linalg/isolve/__init__.py", line 6, in <module>
from .iterative import *
File "/usr/local/lib/python2.7/site-packages/scipy/sparse/linalg/isolve/iterative.py", line 7, in <module>
from . import _iterative
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/scipy/sparse/linalg/isolve/_iterative.so, 2): Symbol not found: ___addtf3
Referenced from: /usr/local/opt/gcc/lib/gcc/6/libquadmath.0.dylib
Expected in: /usr/lib/libSystem.B.dylib
in /usr/local/opt/gcc/lib/gcc/6/libquadmath.0.dylib
>>> exit()
✔ /usr/bin
23:43 $ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
Ich denke, es muss einen Unterschied zwischen dem, wo die Pakete installiert werden von pip install <package name>
und wo sie tatsächlich zugegriffen werden, wenn ich python
im Terminal nennen.
Was ist der Unterschied zwischen:
1), wobei Pakete über pip install <package name>
installiert sind?
UND
2), wo die Pakete werden gesucht, wenn python
vom Terminal Aufruf?
Ich setze die Ergebnisse von which python
an der Unterseite, weil ich denke, dass das nützlich sein könnte. Auch Leute, ich benutze Mac OS El Capitan Version 10.11.4.
Scheint wie fehlende Abhängigkeiten, möglicherweise BLAS. Versuchen Sie, scikit aus dem Paket-Manager Ihrer Distro zu installieren, pip ist [entmutigt] (http://scikit-learn.org/stable/install.html). –
@TobiaTesan es ist unter Linux entmutigt. Es scheint, dass diese Frage OSX verwendet –
Sie sollten nicht Sudo mit Pip verwenden, aber die Antworten auf Ihre Frage existiert in diesen Protokollen. Pakete werden im Verzeichnis site-packages der Python-Installation installiert. Sie müssen feststellen, warum es ein '/ Library/Python/2.7/site-packages' im Vergleich zu'/usr/local/lib/python2.7/site-packages' gibt, obwohl –