OpenCV 빌드하여 설치 후 Python에서 cv 모듈을 로드시 다음 에러가 발생한 경우 해결한 방법입니다.
ModuleNotFoundError: No module named 'cv2'
상황에 따라선 다른 방법이 필요할 수도 있습니다.
2022. 11. 25 최초작성
2022. 11. 26
우선 cv2 모듈 파일 위치를 찾았습니다.
find /usr | grep cv2 명령으로 검색하여 다음처럼 찾았습니다.
/usr/local/lib/python3.8/site-packages/cv2.cpython-38-x86_64-linux-gnu.so
다음처럼 복사해주고 나서 해결되었습니다.
파이썬마다 라이브러리 모듈을 찾을데 검색되는 디폴트로 사용하는 dist-packages 디렉토리 위치가 다른데 엉뚱한 곳에 복사되어 있어 문제가 생긴듯합니다.
cv2 모듈이 복사되는 위치는 리눅스에 설치된 파이썬 환경에 따라 다를 수 있습니다.
sudo cp /usr/local/lib/python3.8/site-packages/cv2.cpython-38-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/
또 다른 방법은 cmake 실행시 파이썬 모듈의 위치를 찾는 위치를 지정해주면 됩니다.
우선 Python이 라이브러리를 인식하는 위치를 확인합니다. 여기에선 보라색으로 표시한 경로입니다.
$ python3 -m site
sys.path = [
'/mnt/c/Users/webnautes',
'/usr/lib/python310.zip',
'/usr/lib/python3.10',
'/usr/lib/python3.10/lib-dynload',
'/home/webnautes/.local/lib/python3.10/site-packages',
'/usr/local/lib/python3.10/dist-packages',
'/usr/lib/python3/dist-packages',
]
USER_BASE: '/home/webnautes/.local' (exists)
USER_SITE: '/home/webnautes/.local/lib/python3.10/site-packages' (exists)
ENABLE_USER_SITE: True
OpenCV 빌드를 위한 cmake 명령시 다음처럼 옵션을 추가해주면 됩니다. 추가한 경로에서 cv2 모듈을 찾게 됩니다.
-D PYTHON3_PACKAGES_PATH=/usr/local/lib/python3.10/dist-packages
'OpenCV > OpenCV 강좌' 카테고리의 다른 글
OpenCV Python inpaint 함수 : 손상된 이미지 복원(Image Inpainting) (0) | 2024.04.04 |
---|---|
OpenCV Python 강좌 - 동영상의 배경 제거하고 움직이는 물체 검출 하기 ( Background Subtraction ) (23) | 2023.12.10 |
OpenCV Python 동영상의 전체 프레임수를 알아내는 방법 (0) | 2023.10.28 |
IOU Python 예제 코드 (0) | 2023.10.28 |
OpenCV 강좌 C++ & Python - 원을 그리는 circle 함수 사용법 (0) | 2023.10.25 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!