본문 바로가기

Ubuntu PyInstaller imshow 할 때, qt.plugin.platforms 에러 윈도우에서는 프로그램 폴더를 복사해서 dll들을 복사해주면 끝났었는데, 우분투에서는 site packages.so 파일들을 복사해서 넣어보기도 하고, PyQt5 나 PyQt6설치 PySide에 있는 qt/plugin/platforms 파일들을 일부러 복사해서 dist/"program file name"/cv2/plugins/platforms/ 폴더를 일부러 만들어서 넣어보기도 했는데 모두 안되었다. pyinstaller 버젼은 4.2로 설치를 해봐도 안되었다. 결국 해결한 방법은 어이없게도 opencv 버젼을 낮추면 해결되었다. 버젼은 4.1.2.30으로 낮췄었다. 기존에는 4.5.3.56을 썼었다. python -m pip install opencv-python==4.1.2.30
YDLidar Tmini buffer overflow python terminated 꿀팁 YDlidar 센서를 USB로 꽂아서 사용할 때, python 실행시에만 buffer overflow 메세지를 확인할 수 있다. 특히 Ubuntu에서만 발생하는 것을 확인하였으며, 윈도우에서는 정상 작동하는 것을 확인하였음 일단 접근 권한을 위해서 항상 sudo로 실행시키는 정도는 알고 있을 것 몇 단계 막히는 구간이 있었는데, 꿀팁 몇 개 알려준다. 1. 일반적인 SDK를 사용하면 안됌. 꼭 1.1.2로 실행해야함 1.1.2는 Tmini 홈페이지에서 SDK를 누르면 다운로드 되는 데, 그 버젼이 1.1.2이며, github에서는 다운로드 받을 수 없음. 이 버젼 코드를 사용하지 않으면, X2는 몰라도 Tmini는 인식 자체를 못했었음 2. ROS 패키지들 설치 이건 뭐 cmake등의 단계에서 나오는 거..
mmdeploy_python error $vim ~/.bashrc add path.. export PYTHONPATH="path to mmdeploy path"/build/lib:$PYTHONPATH # if your mmdeploy folder path is in home folder (when id is ubuntu) => PYTHONPATH=/home/ubuntu/mmdeploy/build/lib$PYTHONPATH :wq source ~/.bashrc
RuntimeError: context has already been set multiprocessing mp.set_start_method('spawn')을 하다보면, 나오는 에러 해결 방법 1. if_name__ 안에서 쓴다. - 전역으로 쓰지 말기 2. import torch, torch.multiprocessing.set_start_method('spawn') 으로 하면 된다는 사람이 있지만 난 되진 않았고, 3. 이 방법이 내 경우에는 해결되었음 import torch torch.multiprocessing.set_start_method('forkserver',force=True)
Could not load dynamic library 'libnvinfer.so.7' 오류 tensorflow 실행 시, tensorRT 라이브러리 못 찾는 오류. tensorrt를 설치했다면, 해당 경로로 가자 설치안했다면 설치를 먼저 하자 나는 8.5.1.7을 설치?하였고, 다운로드 형식이었다. 홈에 압축을 풀었기 때문에 /home/이름/TensorRT-8.5.1.7/lib로 갔었다. 하지만 conda로 설치한 사람들은 conda속 본인 환경의 site-packages 속 tensorrt 폴더로 들어가야한다. 해당 폴더에서 libnvinfer_plugin.so.8을 찾자. 혹은 본인이 다운로드 받은 것을 찾으면 된다. 절대 명령어 아무렇게나 치지 말고 천천히 하나씩 확인한 다음에 진행하자. 없는 데, 경로 무작정 치지말고 찾았다면, 링크를 연결해주면 된다. 명령어로 이해한다면, 8을 7로 ..
AttributeError: module 'collections' has no attribute 'Sequence' 오류 python3.10 collection 모듈에서 이제 Sequence는 abc 모듈 안에 들어가있다. collection.abc.Sequence로 하면 된다.
Ubuntu 22.04, python3에서 tensorrt libnvinfer 못 찾는 오류 일단 나는 torch2trt를 설치를 해야했고, 뭐 이런거랑 상관없이 일반 python3에서는 tensorrt가 잘 돌아가는데, sudo python3에서만 동작하지 않았다. bashrc에 LD_LIBRARY_PATH 도 링크를 모두 시켜주었는데도 인식을 못했다. sudo의 bashrc에서도 인식을 못했다. c++은 또 문제가 생길 수 있겠는데, python3에서 일단 해결방책을 말해준다. python3 에서 tensorrt 를 import 하게 되면, from .tensorrt import * 에서 에러가 나기 때문에 /usr/local/lib/python3.10/dist-packages/tensorrt/__init__.py 를 들어가보자 그럼 .so.* 를 찾으라는 내용이 나오는데, CURDIR이라는..
AttributeError: module 'numpy' has no attribute 'float' 오류 시간이 흐름에 따라, 22.04로 우분투로 변경을 하게 되면서 18.04에서 사용하던 여러 패키지들을 업데이트할 수 밖에 없었다. cuda cudnn등등.. 무튼 내 설치환경에서는 numpy에서 1.24로 설치가 되었는데, 이때 numpy.float numpy.int가 이제 삭제되어서 생긴 오류였다. numpy를 1.24 버젼보다 아래로 설치하면 해결된다. sudo python3 -m pip install numpy==1.23