반응형

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

 

반응형

진행해본 결과물을 기록 및 공유하는 공간입니다.
잘못된 부분이나 개선점을 알려주시면 반영하겠습니다.


소스코드 복사시 하단에 있는 앵커 광고의 왼쪽 위를 클릭하여 닫은 후 해야 합니다.


문제가 생기면 포스트와 바뀐 환경이 있나 먼저 확인해보세요.
질문을 남겨주면 가능한 빨리 답변드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

TistoryWhaleSkin3.4">