반응형
안녕하세요. 글쓰는 개발자 입니다.
요즘 저는 데이터 사이언티스트가 되기위해 학습 중인데요. 현재 jupyter notebook을 활용해서 학습 중에 있습니다. 오늘은 numpy를 활용한 선형대수를 학습하는데 몇가지 필요한 package 들을 import해야 했습니다.
신기한 것은 Home Directory에서 Jupyter Notebook을 실행하면 문제없이 import 되는 것이 제가 원하는 경로에서 Jupyter Notebook을 실행하고 .ipynb 파일을 생성하면 import가 되지 않는 것이었습니다.
scikit-learn package를 import하자 아래와 같은 error가 나타났습니다.
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-3-b7c74cbf5af0> in <module>
----> 1 import sklearn
~\anaconda3\lib\site-packages\sklearn\__init__.py in <module>
80 from . import _distributor_init # noqa: F401
81 from . import __check_build # noqa: F401
---> 82 from .base import clone
83 from .utils._show_versions import show_versions
84
~\anaconda3\lib\site-packages\sklearn\base.py in <module>
18
19 from . import __version__
---> 20 from .utils import _IS_32BIT
21
22 _DEFAULT_TAGS = {
~\anaconda3\lib\site-packages\sklearn\utils\__init__.py in <module>
25 from ..exceptions import DataConversionWarning
26 from .deprecation import deprecated
---> 27 from .fixes import np_version
28 from .validation import (as_float_array,
29 assert_all_finite,
~\anaconda3\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
~\anaconda3\lib\site-packages\scipy\stats\__init__.py in <module>
382 from __future__ import division, print_function, absolute_import
383
--> 384 from .stats import *
385 from .distributions import *
386 from .morestats import *
~\anaconda3\lib\site-packages\scipy\stats\stats.py in <module>
183 import scipy.special as special
184 from scipy import linalg
--> 185 from . import distributions
186 from . import mstats_basic
187 from ._stats_mstats_common import (_find_repeats, linregress, theilslopes,
~\anaconda3\lib\site-packages\scipy\stats\distributions.py in <module>
8 from __future__ import division, print_function, absolute_import
9
---> 10 from ._distn_infrastructure import (entropy, rv_discrete, rv_continuous,
11 rv_frozen)
12
~\anaconda3\lib\site-packages\scipy\stats\_distn_infrastructure.py in <module>
23
24 # for root finding for discrete distribution ppf, and max likelihood estimation
---> 25 from scipy import optimize
26
27 # for functions of continuous distributions (e.g. moments, entropy, cdf)
~\anaconda3\lib\site-packages\scipy\optimize\__init__.py in <module>
388
389 from .optimize import *
--> 390 from ._minimize import *
391 from ._root import *
392 from ._root_scalar import *
~\anaconda3\lib\site-packages\scipy\optimize\_minimize.py in <module>
28 from ._trustregion_krylov import _minimize_trust_krylov
29 from ._trustregion_exact import _minimize_trustregion_exact
---> 30 from ._trustregion_constr import _minimize_trustregion_constr
31
32 # constrained minimization
~\anaconda3\lib\site-packages\scipy\optimize\_trustregion_constr\__init__.py in <module>
2
3
----> 4 from .minimize_trustregion_constr import _minimize_trustregion_constr
5
6 __all__ = ['_minimize_trustregion_constr']
~\anaconda3\lib\site-packages\scipy\optimize\_trustregion_constr\minimize_trustregion_constr.py in <module>
2 import time
3 import numpy as np
----> 4 from scipy.sparse.linalg import LinearOperator
5 from .._differentiable_functions import VectorFunction
6 from .._constraints import (
~\anaconda3\lib\site-packages\scipy\sparse\linalg\__init__.py in <module>
114 from .dsolve import *
115 from .interface import *
--> 116 from .eigen import *
117 from .matfuncs import *
118 from ._onenormest import *
~\anaconda3\lib\site-packages\scipy\sparse\linalg\eigen\__init__.py in <module>
9 from __future__ import division, print_function, absolute_import
10
---> 11 from .arpack import *
12 from .lobpcg import *
13
~\anaconda3\lib\site-packages\scipy\sparse\linalg\eigen\arpack\__init__.py in <module>
20 from __future__ import division, print_function, absolute_import
21
---> 22 from .arpack import *
~\anaconda3\lib\site-packages\scipy\sparse\linalg\eigen\arpack\arpack.py in <module>
43 __all__ = ['eigs', 'eigsh', 'svds', 'ArpackError', 'ArpackNoConvergence']
44
---> 45 from . import _arpack
46 import numpy as np
47 import warnings
ImportError: DLL load failed: 지정된 프로시저를 찾을 수 없습니다.
그리하여, 저는 아래처럼 몇가지 가설을 세웠으나 하나도 성공하지 못했습니다.
- 홈 디렉토리에서 실행되는 것으로 보아 환경변수 설정 문제일 것이다.
- 구글 검색 : anaconda 환경변수, anaconda path, jupyter notebook path error 등
- package가 제대로 설치되지 않은 것이다.
- anaconda prompt에서 conda list, pip list 실행 후 확인
- DLL load failed: 지정된 프로시저를 찾을 수 없습니다. 로 구글링
그러다 구글링을 3시간 정도 하다가 저와 비슷한 현상을 겪으신 분의 포스팅을 보았습니다. 위 에러코드 내용을 보면, scipy package관련하여 몇 가지 언급이 있는데요. 이를 해결하기 위해
$ conda remove --force scipy, numpy
$ pip install scipy
$ pip install numpy
와 같은 명령어를 입력했습니다. 그리고 jupyter notebook을 모두 끄고 브라우저도 종료한 후 다시 실행해본 결과 에러가 말씀히 없어지고 성공적으로 import 되었습니다.
참고 : https://corytips.tistory.com/181#comment11845119
반응형
'Python > 개발환경 구축' 카테고리의 다른 글
[Solved!] m1 macOS tensorflow error / tensorflow.python.framework.errors_impl.NotFoundError: Graph execution error: (0) | 2023.02.24 |
---|---|
[Error] SCRAM authentication requires libpq version 10 or above 해결 / M1 Mac (1) | 2023.02.09 |
[Python] Anaconda(아나콘다) 설치 및 Jupyter Notebook(주피터 노트북) 사용 (0) | 2020.03.24 |
[Python] PyCharm 설치 (Community) (0) | 2020.03.24 |
[Python] Windows Python(파이썬) 설치하기 (0) | 2020.03.23 |