반응형
pip install opencv-python으로 cv2 설치하는 것은 아주 간단한데, 설치하고 나서 다음 오류가 떴다.
Traceback (most recent call last):
File "/home/jseob/Desktop/yjs/codes/3DDFA_V2/demo.py", line 7, in <module>
import cv2
File "/home/jseob/anaconda3/envs/face/lib/python3.9/site-packages/cv2/__init__.py", line 181, in <module>
bootstrap()
File "/home/jseob/anaconda3/envs/face/lib/python3.9/site-packages/cv2/__init__.py", line 175, in bootstrap
if __load_extra_py_code_for_module("cv2", submodule, DEBUG):
File "/home/jseob/anaconda3/envs/face/lib/python3.9/site-packages/cv2/__init__.py", line 28, in __load_extra_py_code_for_module
py_module = importlib.import_module(module_name)
File "/home/jseob/anaconda3/envs/face/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home/jseob/anaconda3/envs/face/lib/python3.9/site-packages/cv2/typing/__init__.py", line 69, in <module>
NumPyArrayGeneric = numpy.ndarray[typing.Any, numpy.dtype[numpy.generic]]
TypeError: 'numpy._DTypeMeta' object is not subscriptable
TypeError: 'numpy._DTypeMeta' object is not subcriptable 이 오류 내용인데, 원인은 버전 문제다.
현재 numpy가 너무 구버전이라서 최신 opencv-python이 import 되지 않는 경우다.
보통 numpy 1.24 이전과 이후로 나뉘는 것 같다. 해결법은 numpy를 최신 버전으로 올리거나 opencv-python 버전을 낮추는 것이다.
pip install numpy==1.21.6
pip install opencv-python=4.5.5.64
구버전을 굳이 써야한다면 위 버전들은 서로 호환된다.
반응형