No module named 'cv2'
clovaai, custom data를 생성하려다가 기존에 jupyter notebook에서도 오류없이 opencv를 사용했었는데
위와 같은 에러가 발생하였습니다.😂
원인을 알고자 경로의 문제인가 싶어서 지우고 다시 설치를 해보기도 하였고, python3 에서 설정되있는 환경설정도 찾아보았습니다. 하지만 모두 해당하지 않았고 결국 brew를 통해서 재설치를 하기로 하였습니다.
해결방법
먼저, brew update를 해줍니다.
brew update
업데이트가 끝나면 아래 명령어를 작성해줍니다.
brew install opencv3 --with-python3 --with-contrib
저는 참고로 --with 옵션이 작동하지 않아서
brew install opencv3
를 해주었습니다.
긴 시간 기다린 후에 python3의 버전을 확인해주세요.
python3 --version
저 같은 경우에는 Python 3.9.5
에 해당했습니다.
cd /usr/local/Cellar/opencv
위 경로로 이동하신 후에 해당 디렉토리에 있는 폴더로 이동해주세요. 저는 4.5.2
하나가 있어서 해당 디렉토리로 이동했습니다.
cd /usr/local/Cellar/opencv/4.5.2
제가 fish
를 사용해서 명령어가 ll
인데 ls
로 사용해주시면 lib
란 폴더 있는지 확인해 주신 후 이동해주세요.
cd lib
본인 환경에 맞는 python version으로 이동해줍니다.
cd python3.9/site-packages/cv2/python-3.9
이동하시면 cv2.<python-version>.so
과 같은 파일을 발견할 수 있습니다 ! 저는 cv2.cpython-39-darwin.so
가 있었습니다.
그 후에 터미널에서 python3
을 실행시켜 현재 시스템 path에 설정된 값을 확인합니다.
>>> import sys
>>> print(sys.path)
[
'',
'/usr/local/Cellar/[email protected]/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python39.zip',
'/usr/local/Cellar/[email protected]/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9',
'/usr/local/Cellar/[email protected]/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload',
'/usr/local/lib/python3.9/site-packages',
'/usr/local/Cellar/protobuf/3.15.8/libexec/lib/python3.9/site-packages'
]
여기서 /usr/local/lib/python3.9/site-packages
여기에 해당하는 path를 복사해주신 다음에 새로운 터미널에서 아래와 같이 입력해주시면 됩니다.
ln -s /usr/local/Cellar/opencv/4.5.2/lib/python3.9/site-packages/cv2/python-3.9 /usr/local/lib/python3.9/site-packages/cv2
해당 설정을 마친 뒤 custom dataset을 성공적으로 마친 모습입니다 !
Author And Source
이 문제에 관하여(No module named 'cv2'), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@seunghwanly/No-module-named-cv2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)