D_ontory : 개발스토리

[오류 해결] AttributeError: module 'cv2.dnn' has no attribute 'DictValue' cv2 어쩌구 오류 해결 만능키 본문

python

[오류 해결] AttributeError: module 'cv2.dnn' has no attribute 'DictValue' cv2 어쩌구 오류 해결 만능키

D_on 2024. 1. 30. 11:17
반응형
OpenCV 만 쓰면 나타나는 오류

 

새로운 개발 환경을 사용하기 위해 새로운 Nvidia pytorch container를 띄우고 나면 항상 만나는 오류가 있다.

OpenCV를 사용해야 하는경우 거의 백이면 백 만나는 것 같다.

module 'cv.dnn' 에서 무엇인가 없다는 것!

 

 

File "/usr/local/lib/python3.10/dist-packages/cv2/__init__.py", line 175, in bootstrap
    if __load_extra_py_code_for_module("cv2", submodule, DEBUG):
  File "/usr/local/lib/python3.10/dist-packages/cv2/__init__.py", line 28, in __load_extra_py_code_for_module
    py_module = importlib.import_module(module_name)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/local/lib/python3.10/dist-packages/cv2/typing/__init__.py", line 168, in <module>
    LayerId = cv2.dnn.DictValue

 File "/usr/local/lib/python3.10/dist-packages/cv2/typing/__init__.py", line 168, in <module>
    LayerId = cv2.dnn.DictValue
AttributeError: module 'cv2.dnn' has no attribute 'DictValue'

대부분 cv2.dnn 으로 시작해서 DictValue 일수도있고, 다른 attribute 가 없다고 나올 수도 있다.

그래서 구글링하여 하나씩 설치해봐도 해결하지 못하던 적이 많아 골치가 아팠다.

 

해결 방법

 

apt-get update
apt-get upgrade
/usr/bin/python -m pip install --upgrade pip
 pip install opencv-python

 

온갖 업데이트 업그레이드 다 하고서 다시 opencv를 깔아봐도 똑같은 오류가 난다.

 

해결을 위해서는

opencv-fixer

opencv-fixer 가 필요하다 (누가봐도 무엇인가 고쳐줄 것 만 같은 느낌이 강하게 나는 이름이다.)

 

pip install opencv-fixer==0.2.5
python -c "from opencv_fixer import AutoFix; AutoFix()"

 

버전이 맞지 않는 라이브러리들이 함께 설치되면서 충돌이 일어난 듯 하다.

 

 

무사히 해결!

반응형
Comments