2016-10-06 6 views
0

У меня есть Anaconda, установленная на OS X. Я могу импортировать sklearn из терминала python и терминала IPython. Но когда я пытаюсь импортировать sklearn из блокнота Jupyter, я получаю следующее сообщение об ошибке:Scikit-learn не удалось импортировать только в ноутбуке Jupyter

--------------------------------------------------------------------------- 
ImportError        Traceback (most recent call last) 
<ipython-input-4-8fd979e02004> in <module>() 
----> 1 import sklearn 

/Users/joe/anaconda/envs/data_env/lib/python3.5/site-packages/sklearn/__init__.py in <module>() 
    55 else: 
    56  from . import __check_build 
---> 57  from .base import clone 
    58  __check_build # avoid flakes unused variable error 
    59 

/Users/joe/anaconda/envs/data_env/lib/python3.5/site-packages/sklearn/base.py in <module>() 
    10 from scipy import sparse 
    11 from .externals import six 
---> 12 from .utils.fixes import signature 
    13 from .utils.deprecation import deprecated 
    14 from .exceptions import ChangedBehaviorWarning as _ChangedBehaviorWarning 

/Users/joe/anaconda/envs/data_env/lib/python3.5/site-packages/sklearn/utils/__init__.py in <module>() 
     9 
    10 from .murmurhash import murmurhash3_32 
---> 11 from .validation import (as_float_array, 
    12       assert_all_finite, 
    13       check_random_state, column_or_1d, check_array, 

/Users/joe/anaconda/envs/data_env/lib/python3.5/site-packages/sklearn/utils/validation.py in <module>() 
    16 
    17 from ..externals import six 
---> 18 from ..utils.fixes import signature 
    19 from .deprecation import deprecated 
    20 from ..exceptions import DataConversionWarning as _DataConversionWarning 

/Users/joe/anaconda/envs/data_env/lib/python3.5/site-packages/sklearn/utils/fixes.py in <module>() 
    288  from ._scipy_sparse_lsqr_backport import lsqr as sparse_lsqr 
    289 else: 
--> 290  from scipy.sparse.linalg import lsqr as sparse_lsqr 
    291 
    292 

/Users/joe/anaconda/envs/data_env/lib/python3.5/site-packages/scipy/sparse/linalg/__init__.py in <module>() 
    110 from __future__ import division, print_function, absolute_import 
    111 
--> 112 from .isolve import * 
    113 from .dsolve import * 
    114 from .interface import * 

/Users/joe/anaconda/envs/data_env/lib/python3.5/site-packages/scipy/sparse/linalg/isolve/__init__.py in <module>() 
     4 
     5 #from info import __doc__ 
----> 6 from .iterative import * 
     7 from .minres import minres 
     8 from .lgmres import lgmres 

/Users/joe/anaconda/envs/data_env/lib/python3.5/site-packages/scipy/sparse/linalg/isolve/iterative.py in <module>() 
     5 __all__ = ['bicg','bicgstab','cg','cgs','gmres','qmr'] 
     6 
----> 7 from . import _iterative 
     8 
     9 from scipy.sparse.linalg.interface import LinearOperator 

ImportError: dlopen(/Users/joe/anaconda/envs/data_env/lib/python3.5/site-packages/scipy/sparse/linalg/isolve/_iterative.so, 2): Library not loaded: /usr/local/lib/libgcc_s.1.dylib 
    Referenced from: /Users/joe/anaconda/envs/data_env/lib/python3.5/site-packages/scipy/sparse/linalg/isolve/_iterative.so 
    Reason: image not found 

Я могу импортировать NumPy, SciPy и панд штраф от ноутбука Jupyter. Это просто склеарн, который терпит неудачу.

Я также попытался создать новую среду conda (conda create -n test_env jupyter notebook matplotlib scipy numpy pandas scikit-learn), но ошибка сохраняется и в новой среде.

+0

попробуйте распечатать, какой интерпретатор python установить jupyter us using – Julius

+0

Кажется, что то же самое. 'который python' дает'/Users/joe/anaconda/bin/python', и 'sys.executable' дает то же самое из ноутбука Jupyter или стандартного терминала Python или IPython. –

ответ

2

Мне удалось выяснить, что происходит, поэтому я опубликую свое решение здесь, если кто-то другой столкнется с той же проблемой. Как оказалось, я изменил переменную окружения DYLD_FALLBACK_LIBRARY_PATH в моем .bashrc файле, когда я установил еще одну часть программного обеспечения. Восстановление этой переменной среды по умолчанию по-умолчанию задало проблему для меня.

(Кстати, scikit-learn не смог импортировать в стандартный терминал Python. Я не осознавал это первоначально, потому что я тестировал терминал Python в среде, в которой я случайно восстановил переменные среды для своих по умолчанию, перезапись изменения, которое я сделал в моем файле .bashrc.)