728x90
VSCode에서 jupyter notebook을 통해 머신러닝 공부를 하던 중 import error가 생겼다.
난 분명히 내 아나콘다 가상 환경에 conda install sklearn을 했고
from sklearn.ensemble importRandomForestClassifier을 하고 실행시켰더니
ImportError Traceback (most recent call last)
<ipython-input-15-c75f4c6245f8> in <module>
----> 1 from sklearn.ensemble import RandomForestClassifier
2 model = RandomForestClassifier(n_jobs=-1, random_state=0, min_samples_leaf=30)
3 model.fit(X_train, y_train)
C:\anaconda3\envs\my_env\lib\site-packages\sklearn\__init__.py in <module>
78 from . import _distributor_init # noqa: F401
79 from . import __check_build # noqa: F401
---> 80 from .base import clone
81 from .utils._show_versions import show_versions
82
C:\anaconda3\envs\my_env\lib\site-packages\sklearn\base.py in <module>
19 from . import __version__
20 from ._config import get_config
---> 21 from .utils import _IS_32BIT
22 from .utils.validation import check_X_y
23 from .utils.validation import check_array
C:\anaconda3\envs\my_env\lib\site-packages\sklearn\utils\__init__.py in <module>
21
22 from .murmurhash import murmurhash3_32
---> 23 from .class_weight import compute_class_weight, compute_sample_weight
24 from . import _joblib
25 from ..exceptions import DataConversionWarning
C:\anaconda3\envs\my_env\lib\site-packages\sklearn\utils\class_weight.py in <module>
5 import numpy as np
6
----> 7 from .validation import _deprecate_positional_args
8
9
C:\anaconda3\envs\my_env\lib\site-packages\sklearn\utils\validation.py in <module>
23 from contextlib import suppress
24
---> 25 from .fixes import _object_dtype_isnan, parse_version
26 from .. import get_config as _get_config
27 from ..exceptions import NonBLASDotWarning, PositiveSpectrumWarning
C:\anaconda3\envs\my_env\lib\site-packages\sklearn\utils\fixes.py in <module>
16 import scipy.sparse as sp
17 import scipy
---> 18 import scipy.stats
19 from scipy.sparse.linalg import lsqr as sparse_lsqr # noqa
20 from numpy.ma import MaskedArray as _MaskedArray # TODO: remove in 0.25
C:\anaconda3\envs\my_env\lib\site-packages\scipy\stats\__init__.py in <module>
386
387 """
--> 388 from .stats import *
389 from .distributions import *
390 from .morestats import *
C:\anaconda3\envs\my_env\lib\site-packages\scipy\stats\stats.py in <module>
172 from numpy import array, asarray, ma
173
--> 174 from scipy.spatial.distance import cdist
175 from scipy.ndimage import measurements
176 from scipy._lib._util import (_lazywhere, check_random_state, MapWrapper,
C:\anaconda3\envs\my_env\lib\site-packages\scipy\spatial\__init__.py in <module>
100 from ._plotutils import *
101 from ._procrustes import procrustes
--> 102 from ._geometric_slerp import geometric_slerp
103
104 __all__ = [s for s in dir() if not s.startswith('_')]
C:\anaconda3\envs\my_env\lib\site-packages\scipy\spatial\_geometric_slerp.py in <module>
6
7 import numpy as np
----> 8 from scipy.spatial.distance import euclidean
9
10
C:\anaconda3\envs\my_env\lib\site-packages\scipy\spatial\distance.py in <module>
119 from . import _hausdorff
120 from ..linalg import norm
--> 121 from ..special import rel_entr
122
123
C:\anaconda3\envs\my_env\lib\site-packages\scipy\special\__init__.py in <module>
631 from .sf_error import SpecialFunctionWarning, SpecialFunctionError
632
--> 633 from . import _ufuncs
634 from ._ufuncs import *
635
ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.
이 나왔다. 정확히 무슨 소리인지 몰라서 아나콘다 cmd에서 python을 들어가서 다시 import 했더니
ImportError: cannot import name 'issparse' from 'scipy.sparse' (unknown location) 에러 메시지를 보았다.
해결방안은
conda install numpy scipy joblib scikit-learn --force-reinstall
재설치했더니 제대로 오류가 해결되었다.
(정확힌 모르지만 의존성이 제대로 설치가 되지 않아서 그랬다나...? 재설치하면 되는 것 같다)
또는 vsCode상에서 jupyter notebook kernel을 저 패키지들을 설치한 가상 환경인지 확인해보는 것도 좋은 것 같다.
패키지들을 설치해도 설치된 환경과 jupyter notebook 커널과 다르면 엉뚱한 게 실행되기 때문이다.
728x90