본문 바로가기
반응형

Python123

Python - OpenCV partially initialized module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' OpenCV를 이용하다보면, 발생하는 오류로써, OpenCV를 별도로 설치할때 보통 오류가 발생하게 된다. 이 문제점은 버전 호환성 문제라고 하는데, 문제가 발생하는 버전을 제거하고, opencv-python==4.5.5.64 로 설치하여 해결이 가능하다. pip uninstall opencv-python pip install opencv-python==4.5.5.64 2024. 2. 28.
Python - OpenCV(4.5.4) 4051: error: (-215:Assertion failed) !ssize.empty() in function 'resize' OpenCV(4.5.4) 4051: error: (-215:Assertion failed) !ssize.empty() in function 'resize' 이 오류를 해결할 수 있는 방법은 명확하지 않은 상황이라고 할 수 있다. 다만 현재로써는 resize는 다음과 같은 문제를 살펴볼 필요가 있다. 1. 타입이 맞지 않는지 resize 시점에 타입을 지정하는 경우, 데이터 타입을 변경해서 진행해 볼 수 있다. 적정한 data type을 지정해 줘야 하기 때문에, float32, int8등을 시도해 보자. cv2.resize(img.astype('float32'), dsize=(125,125)) 2. 올바른 경로 인지 가장 많은 부분에서 이 부분을 확인하라고 하는데, 올바른 경로인지를 확인하는게 좋다. 3.. 2024. 2. 27.
Python - cv2 설치 방법 Python용으로 사전 빌드된 CPU 전용 OpenCV 패키지로 이미지 처리시 Numpy, EasyOCR등이서 사용된다. 따로 설치하여 사용하는 방법은, opencv-python로 이름이 다르기 때문에 주의해야 한다. pip install opencv-python https://www.indiegogo.com/projects/opencv-5-support-non-profit-open-source-cv-ai#/ OpenCV 5, Support Non-Profit Open Source CV & AI The biggest ever release of the world's largest computer vision library. Support Open Source. | Check out 'OpenCV 5, S.. 2024. 2. 27.
SQLAlchemy - str() argument 'encoding' must be str, not ModuleNotFoundError argument 'encoding' must be str, not ModuleNotFoundError 이 오류를 확인하는 데 한참 걸렸는데, 결국은 라이브러리를 설치 하지 않아서 나타난 오류이다. SQLAlchemy 는 실제 연결을 위해서는 PyMySQL을 필요로 한다. PyMySQL SQLAlchemy SQLAlchemy는 Database를 도와주는 프레임워크이고 실제 연결은 PyMySQL을 이용해야 하는 것이다. 혹시 필자와 비슷한 오류를 경험하고 있다면, PyMySQL를 설치하도록 하자. 2024. 2. 26.
Python - not ModuleNotFoundError, subprocess not ModuleNotFoundError 에러는 모듈 설치 위치를 찾을 수 없을 때 많이 발생하고, subprocess를 실행했을 경우 일반적인 상황과 다른 참조 오류로 인해 발생하는 경우도 존재한다. 가장 흔히 발생하는 모듈의 설치 위치가 달라서 발생하는 오류는 sys.path.append 을 이용하여 현재 작업 경로의 상위 경로를 입력해 줌으로써 해결이 가능하다. 가장 많이 사용하는 방법은, 하위에서 상위 경로를 추가하는 방식이다. base_dir > sub_dir(현재 Python 파일 위치) 이때 경로를 입력하지 않고 sys.path.append(os.path.dirname(os.path.dirname(__file__))) 를 입력하면 자동으로 현재 폴더의 상위 폴더를 시스템 변수에 설정하게 된.. 2024. 2. 25.
Python - AWS S3 Select 와 Atena 차이점, 기본 사용법 AWS를 이용하면 S3에 저장되어 있는 데이터를 확인해야 한 경우가 종종 발생한다. 이띠, Atena와 Select를 이용해서 S3에 저장되어 있는 자료를 검색해 부분적으로 가져올 수 있는 기능을 통해 원하는 자료만 빠르게 검색할 수 있다. 먼저 S3 Select와 Atena의 기본적이 차이를 알아보도록 하자. S3 Select 와 Atena 차이점 AWS Select: 가장 비용을 효율적으로 원하는 S3와 Glacier 에서 데이터를 검색할 수 있는 방법이다. AWS Athena: ANSI SQL 방식으로 완전한 SQL 쿼리를 사용할 수 있다. - group by, having, window, geo in SQL DDL and DML등 따라서 검색 위주로 사용하는 경우 S3 Select, Atena는 .. 2024. 2. 22.
VSCode - 파일 저장시 공백 자동 제거 코드를 작성하다보면 불필요한 공백이 발생하는 경우가 많다. 이러한 공백은 코드를 읽는데는 문제가 없지만, Python은 컴파일 기반이 아닌 라인 방식으로 읽어 들이는 Interpreter 방식이기 때문에 불필요한 공백이 존재하면 해당 코드가 의미가 있는것인지를 계산하는 시간이 필요하기 때문에 이를 제거하는 것이 깔끔하다고 할 수 있다. VSCode에서 이를 자동 제거해주는 옵션을 제공하는데 아래와 같이 옵션 활성화가 가능하다. VSCode에서 Preferences로 들어가서 Settings로 들어가, WhiteSpace 관련 옵션을 검색한다. 그럼 아래와 같이 Trim Trailing Whitespace 옵션을 찾을 수 있고, 이를 활성화 하면, 이후 부터 아래와 같은 불필요한 공백으로 판단되는 마지막 .. 2024. 2. 22.
Python - 특정 문자열 검색하여 잘라내기, finditer 오늘은 특정 문자열을 검색해서 잘라내는 방법에 대해서 정리해보고자 한다. 먼저 기본적으로 Python에서 문자열의 인덱스를 이해할 필요가 있다. 인덱스(문자의 위치)는 [:]를 이용해서 앞뒤를 지정할 수 있다. 아래 예제와 같이 str_test[0:1]은 0(처음)부터 1번까지 내용만 리턴하라는 의미가 된다. 그리고 파이썬은 처음과 끝을 생략할 수 있는데, [:1] 은 처음부터 1까지 [1:] 1부터 마지막까지로 유용하게 사용이 가능하다. 그럼 검색은 어떻게 할 수 있을까? 바로 regex를 이용해서 진행해야 한다. regex는 find와 finditer이 있는데 이 둘의 차이점은 finditer은 매칭되는 값의 위치(인덱스)을 함께 리턴해주게 된다는 점이 크다. import re str_test = '.. 2024. 2. 21.
Python - 에러 해결: list indices must be integers or slices, not str Python 코드를 작성하다보면, list indices must be integers or slices, not str이라는 오류를 종종 접하게 된다. list indices must be integers or slices, not str 또는 cannot unpack non-iterable NoneType object 이 오류는 List 같은 문자열 아닌 값을 문자열 처럼 사용했을 때 발생한다. 따라서 이 오류를 해결하기 위해서는 각 변수의 타입에 맞게 사용했는지을 유심하게 봐야한다. 보통 문자열과 list 형태는 다루는 방식이 다르기 때문에 나타난다고 보면 된다. 특히 실사용에서는 아래와 같이 다중 리스트형태일 경우를 무시해서 발생하는 경우가 많으므로 주의할 필요가 있다. #다중 리스트 인덱스로 문.. 2024. 2. 20.
반응형