텐서플로우 "ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다." 오류

윈10에서 텐서플로우 공부하려고 python3.6 ,cuDNN(v7.3.0), CUDA Toolkit(v10.0)을 설치하고 tensorflow-gpu를 pip3로 설치했습니다. 그런데 예제파일을 실행해보니 아래와 같은 오류가 발생합니다. 구글에서도 오류에 대해 찾아봤는데 확실하게 오류해결이 안되서 질문드립니다.

Traceback (most recent call last):
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".\01 - Basic.py", line 2, in <module>
    import tensorflow as tf
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\__init__.py", line 22, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Users\gjwng\AppData\Local\Programs\Python\Python36\lib\imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_problems

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    사실 python 이 수많은 웹사이트등의 선전과 달리 그렇게 쉬운 언어와 환경이 아닙니다.

    python의 많은 모듈은 c 로 되어 있기에 기본적으로 c도 다룰 줄 알아야 하며 그 결과물인 so, dll 등의 사용방법도 알아야 합니다.

    에러메세지를 보면 아래와 같습니다.

    ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.
    

    이 말의 의미는 c로 만들어진 라이브러리 dll 이 없던가. 혹은 찾지 못한다는 메시지 입니다. 즉 필요한 dll을 찾아서 system path에 넣어주시면 됩니다.

    또한 파이썬에서 pip 등으로 모듈을 설치할 때 확장모듈은 직접 컴파일해서 설치를 하게 됩니다. 이 때 윈도우의 경우 컴파일러가 내장되어 있지 않으므로 visual c 혹은 mingw 나 cygwin 등의 환경이 필요합니다.

    그러나 c도 모르고 확장모듈로 인해 스트레스 받기 싫다면 즉 단순히 python 만 편하게 다루고 싶다면 리눅스 환경을 추천드립니다.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.