맨땅에 헤딩하는 사람

[Python] 아나콘다 tensorflow, h5py 설치 시 오류 본문

파이썬/이론

[Python] 아나콘다 tensorflow, h5py 설치 시 오류

purplechip 2020. 5. 17. 16:41

아나콘다는 참 편리하다.

아나콘다를 몰랐던 시절 Python을 날것으로 사용하며 pip으로 라이브러리를 설치하던 시절을 생각하면 삽질을 참 많이도 했다 싶다. 만약 윈도우에서 python을 사용하며 아나콘다를 사용하지 않는 사람이 있으면 꼭 사용하는 것을 추천한다.

 

본론으로 들어가서 아나콘다 프롬프트에서 다음과 같이 pip으로 tensorflow를 설치하고 실행시키면 다음과 같은 에러가 발생하였다.

C:\Users> pip install tensorflow 

 

 C:\Users> python
Python 3.6.10 |Anaconda, Inc.| (default, May  7 2020, 19:46:08) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

>>> import tensorflow
....
....
File "C:\Users\user\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/errors

 

이렇게 뜬다. 그래서 저 위에 있는 링크를 들어가봐도 에러만 명시되어있고 다들 자기도 안된단 소리밖에 없더라..

pip이 문젠가 싶어 conda로 설치하니 해결되었다.

C:\Users> pip uninstall tensorflow  
C:\Users> conda install tensorflow  

 

그러나 이번엔 h5py로 인한 문제가 발생하였다.

>>> import tensorflow

UserWarning: h5py is running against HDF5 1.10.5 when it was built against 1.10.4, this may cause problems '{0}.{1}.{2}'.format(*version.hdf5_built_version_tuple)

Warning! ***HDF5 library version mismatched error*** 
The HDF5 header files used to compile this application do not match
the version used by the HDF5 library to which this application is linked. 
...
...
Headers are 1.10.4, library is 1.10.5 
SUMMARY OF THE HDF5 CONFIGURATION

 

뭐 또 이런식으로 뜬다.

anaconda로 tensorflow를 설치하면 이에 필요한 라이브러리들도 자동으로 설치해주는데 그 중 하나가 h5py이다.

자동으로 설치되는 패키지가 충돌이 일어나는 것이므로 이번엔 pip으로 지웠다가 다시 설치해준다.

C:\Users> pip uninstall h5py
C:\Users> pip install h5py

 

이제 tensorflow가 정상적으로 동작한다.

>>> import tensorflow as tf
>>> tf.__version__

'2.1.0'

 

 

+ 사족

참고한 링크에서 위 현상에 대해 설명해놨는데 뭔소린지 이해가 잘 안간다..

If you are using conda to install tensorflow it installs h5py with 1.10.5 version and on top installs hdf5 1.10.4. Creating conflict that resolves after pip "juggling" since 1.10.4 satisfies the latest h5py.

해석가능하신 분은 알려주시면 감사드리겠습니다 ㅠ

 

참고

tensorflow 설치

www.tensorflow.org/install/errors

github.com/tensorflow/tensorflow/issues/22794

 

h5py 설치

stackoverflow.com/questions/57842565/hdf5-library-version-error-hdf5-ver-1-10-4

Comments