embedded/jetson nano

7. opencv 가상환경 설치 오류(해결)

crab. 2021. 8. 27. 08:44
반응형

결국 수많은 구글링 끝에 cmake를 다시 정밀하게 수정해보고 빌드를 했지만 역시 그 부분에서 막혔다..

 

뭔가 이번에도 근본적으로 막힌 느낌이다... 

 

하는 수 없이 강사님께 질문을 드려보니

sudo pip3 install virtualenv

이 부분이 문제였다..

 

정말 조금만 더 생각해보면 어디가 문제인지 알 수 있었을 텐데 후회되긴 했지만 일단 진행을 해보았다.

 

우선 오류가 났을때 오류 코드를 잘 읽어보면 그대로 진행해도 괜찮다는 것을 알 수 있었다.

 

나는 빨간줄로 에러가 뜬다고 그걸 제대로 잘 읽지도 않고 알아보려 하지 않고 그냥 넘긴 것이다.

 

꼼꼼함과 확실함이 부족했다 약간 편법으로 지름길을 통해 간 느낌이다...

 

그렇게 계속 진행하니 numpy오류도 없었고 정상적으로 파이썬 빌드 경로도 가상 환경으로 잘 나왔다.

 

하지만 문제였던 게 또 경로에 파일이 없었다.

 

# Install OpenCV
sudo make install
sudo ldconfig

cd /usr/local/lib/python3.6/site-packages/cv2/python-3.6 // 문제였던 부분 
// 나는 저 경로가 존재 하지 않았다.
# Rename
mv cv2.cpython-36m-xxx-linux-gnu.so cv2.so
# Go to your virtual environments site-packages folder
cd ~/env/lib/python3.6/site-packages/
# Symlink the native library
ln -s /usr/local/lib/python3.6/site-packages/cv2/python-3.6/cv2.so cv2.so

[출처] 젯슨 나노에 waveshare 동키카 개발환경 만들기|작성자 ZETA7

절망감이 온다... make는 최소 2시간이다.. 하지만 뭔가 감이 왔다 이건 이 분이 오래전에 해서 생긴 버전 문제인 것 같다는

 

그래서 계속 파일들을 뒤져봤다. 구글링도 해봤었는데 우선 가상 환경을 풀어보고 찾아보니 있다?

 

알고 보니 우연히 내가 local을 빼고 들어간 거였는데 문제는 site-packages까지는 들어갔지만 중요한 cv2가 없었다.

 

알 수 없는 미궁에 빠지는 느낌이었다.

 

하지만 반드시 이번에는 내 힘으로 풀어보리라

 

물론 파일 검색으로 cv2.so를 했지만 뜨지 않았다.

 

근데 갑자기 의문이 들었다. 왜 검색으로 site-package를 찾을 때는 경로가 안 나왔는데 여기에는 있는 거지?

 

분명 env에만 있고 usr에는 안나온다.

내가 지금 들어가 있는 경로는 뭐야... -> 아! 설마 usr은 검색이 안되었나 

 

여기에 생각이 이르니까 내가 기술을 잘 못쓰고 있구나 싶었다.

 

찾아보니 터미널에 직접 입력하여 경로 내에 특정 문자로 시작되는 파일을 찾는 명령이 있었다.

 

======================================================================

1. 리눅스 파일명으로 검색하는 법.

 

사용법

find [찾을 위치] -name [파일명]

 

예) 최상위 폴더부터 하위로 'apache'로 시작하는 파일 찾기.

find / -name 'apache*'

 

예) usr 폴더부터 하위로 'apa'로 시작하는 파일 찾기.

find /usr/ -name 'apa*'

 

출처: https://overcode.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%ED%8C%8C%EC%9D%BC-%EC%B0%BE%EA%B8%B0-%ED%8C%8C%EC%9D%BC%EC%86%8D-%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%B0%BE%EA%B8%B0

 

리눅스 파일 찾기, 파일속 문자열 찾기

1. 리눅스 파일명으로 검색하는법. 사용법 find [찾을위치] -name [파일명] 예) 최상위 폴더부터 하위로 'apache'로 시작하는 파일 찾기. find / -name 'apache*' 예) usr 폴더부터 하위로 'apa'로 시작하는 파..

overcode.tistory.com

======================================================================

있다! 찾았다 경로가 조금 다르지만 분명히 있다. 느낌으로 해결하면 안 되지만 느낌이 중요할 때도 있다 이건 정상적이다.

 

내가 레퍼런스 한 사이트와 다른 점은 2가지 첫째 'site'가 아닌 'dist'였고 둘째 xxx가 아닌 aarch64가 되었다.

 

dist-packages는 Ubuntu와 같은 파생에도 존재하는 Debian 전용 규칙이라고 한다. 추측하건대 시간이 지나면서

 

버전이 달라지며 바뀐 변화인 듯했다. 결과적으로 둘은 실행적인 면에서 차이가 없다는 게 내 결론이었다.

 

이렇게 진행을 하니 

 

잘 진행되었다.

 

마지막에서 오류가 하나 더 있었는데 바로 core dumped였다.

 

jetson tx에서는 재부팅해서 해결되기에 이번에도 시도했으나 잘 되지 않았다...

 

이 문제는 의외로 금방 해결되었는데 구글링 결과 특정 코드를 넣으면 해결된다고 한다.

$ export OPENBLAS_CORETYPE=ARMV8

https://seoftware.tistory.com/112

 

[jetson nano] opencv illegal instructions (core dumped)

import cv2 로 젯슨나노에서 opencv를 잘 사용하고 있었는데, 어느날 갑자기 cv2 module이 없다는 에러가 떴습니다. opencv 를 재설치 했는데도, illegal instructions (core dumped) 라는 메세지와 함께 opencv..

seoftware.tistory.com

그리고 해결되었다! 만세!

 

다시 보면 별거 아니었지만 순수하게 기뻤다 좋다 ㅎㅎ

 

다음으로는 동키카 코드와 darknet을 진행해 봐야겠다.

반응형

'embedded > jetson nano' 카테고리의 다른 글

비상사태  (0) 2021.09.03
8. 프로젝트 변화  (0) 2021.08.30
6. opencv 가상환경 설치 오류(문제)  (0) 2021.08.27
5. opencv 설치  (0) 2021.08.26
4. waveshare notebook 성공  (0) 2021.08.26