본문 바로가기
반응형

Python126

Python - (pymysql.err.OperationalError) (1241, 'Operand should contain 1 column(s)') INSERT (pymysql.err.OperationalError) (1241, 'Operand should contain 1 column(s)') 이 오류의 정확안 의미는 간단하다.내가 행하는 행위중 컬럼 하나 혹은 그 이상이 잘못되었다는 것이다.이 때 확인해보기 좋은것은 당시 입력값을 보여주는데, 하나씩 값을 확인해보면, 분명 잘못된 컬럼 값이 있음을 알 수 있을 것이다.주의하게 봐야 하는것으로 TSQL 문으로 넣을 때 규칙을 알고 있으면 좋은데 - 기본적으로 컬럼 과 입력값 을 쌍따옴표로 구분하기 때문에 이것이 잘 지켜지는지 보면 좋다.필자가 오류 내용 찾았던 값으로 msg 컬럼에 값을 넣는데, '(따옴표)으로 시작해야 하는데 입력값에 문제가 있다는 것을 알게 되었다.'msg': (False, '', '안녕이렇.. 2025. 1. 13.
Python - uv 패키지, 프로젝트 관리자 설치 및 사용법 오늘은 요즘 핫하다고 할 수 있는 uv를 이용해서 설치와 기본 사용법에 대해서 설명해보고자 한다.uv는 Python 패키지와 프로젝트를 관리할 수 있는데, pip 의 차기 버전이라고 할 수 있을 정도로 빠른 속도와 관리의 편의성을 제공한다.pip의 기존 문제점이라고 하기는 어렵지만, pip는 쉽게 사용할 수 있는 장점이 있는 반면에 프로젝트별 버전관리의 불편함과 느린 속도가 큰 문제점이다. uv는 프로젝트 관리와 패키지 관리를 일원화 하여 편의성을 높이고,(npm 같은 느낌)패키지를 설치하는데도 기존 pip보다 빠르게 구성되어 많은 최적화가 되어진 모습을 보여준다.또 기존에 Python의 버전 설치에 대한 부분도 함께 해결된다는 점은 큰 장점이라고 생각되며, 패키지 관리 역시 요즘 통합되고 있는 pypr.. 2025. 1. 8.
Python - "datetime" 클래스의 "utcnow" 메서드는 더 이상 사용되지 않습니다. Python 3.12 버전부터 경고가 나타나는데 utcnow가 사라진다는 것이다.Python 기본적인 타임 포맷은 타임값이 들어가지 않는 방식을 채택하고 있었다.>>> from datetime import datetime, timezone>>>>>>>>> print(datetime.utcnow())2024-12-10 00:52:07.010333>>>>>> print(datetime.now(timezone.utc))2024-12-10 00:52:07.550513+00:00그리고 타임값은 timezone을 사용할 때만 추가되었다.Python에서는 이 부분이 혼선을 초래한다고 판단하여 utcnow를 제거하고, now를 사용하도록 권장하고 있는 것으로 보인다.하지만 이는 과거 코드들, utcnow 를 사용하여 .. 2024. 12. 10.
Python 3.12 - 주요 내용과 예제로 살펴보기 Python 3.12의 주요 변경 사항을 요약하면 다음과 같다새로운 기능 및 개선 사항1. 유연한 f-string 구문 분석:이제 f-string 내부에서 더 많은 표현식을 사용할 수 있습니다. 여러 줄 표현식, 주석, 백슬래시, 유니코드 이스케이프 시퀀스 등을 포함할 수 있게되었다. #아래와 백슬래쉬를 쉽게 사용이 가능하게 되었다.>>> a = ["hello", "world"]>>> f"{'\n'.join(a)}"'hello\nworld'2. 타입 주석 개선:제네릭 클래스와 함수에 대한 새로운 타입 주석 구문이 도입되었다 (PEP 695)이는 제네릭 타입을 사용하는 구문을 더 직관적이고 명확하게 만들어, Python 개발자들이 타입 힌팅을 더 쉽게 사용할 수 있도록 하는 것을 목표로 한다.# 기존 방식.. 2024. 11. 11.
Python - 3.12 Datetime 변화( 메서드는 더 이상 사용되지 않습니다.) 3.12 Datetime 버전에서 Datetime이 큰 변화가 있을 예정이다.Python 3.12에서 datetime 관련 변환에 대한 주요 내용은 다음과 같다.datetime.utcfromtimestamp()와 datetime.datetime.utcnow()가 deprecated되어 향후 버전에서 제거될 예정이다. utcnow() 및 utcfromtimestamp() 메서드의 사용 중단:datetime.datetime의 utcnow()와 utcfromtimestamp() 메서드는 더 이상 권장되지 않으며, 향후 버전에서 제거될 예정이다. 대신, UTC 시간대를 나타내는 객체를 사용하여 now()와 fromtimestamp() 메서드를 호출할 때 tz 매개변수를 datetime.UTC로 설정하는 것이 좋.. 2024. 11. 11.
Python SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1007 개발을 진행하다보면, SSL 통신 오류가 다양하게 발생한다.오늘은 SSL을 읽던중에 발생하는 문제로,  SSL: UNEXPECTED_EOF_WHILE_READING 에 대해서 짧게 얘기해보겠다.이 오류는 기본적으로 예전 인증서를 openssl의 지원하지 않으면서 발생한다고 보면된다.1. openssl을 최신으로 업데이트를 한다면 문제가 해결될 가능성이 높다.apk update && apk upgrade openssl2. 특정 프로토콜을 사용하도록 지정하는 방법도 유용하다.import sslimport certifiimport requests.urllib as urlrqresp = urlrq.urlopen(url="https://", contex.. 2024. 9. 4.
Python - Error Can't pickle local object 오류 해결 Can't pickle local object 에러는 보통 멀티 프로세스 작업에서 발생하는데, 데이터 객채를 가져갈 수 없다는 의미이다.즉 프로세스별로 오브젝트를 관리해야 하는데, 이를 공유할 수 없는 상태의 데이터라는 의미보통 전역 데이터 등은 공유하는데 문제가 없지만, Database 오브젝트 같은 네트워크 세션을 관리하는 데이터와 같이 프로세스 간에 서로 데이터의 갱신이나 호출을 하는 경우에는 프로세스간 자원 공유의 문제이다. 이를 해결 하기 위해서는 함수를 프로세스 안에서 호출 해서 사용하도록 하고, 전역 변수로 선언해서 사용해야 하는데, 전역 변수 일 경우 갱신과 같은 데이터 변경에 주의하는게 좋다. from sqlalchemy import create_engineimport multiproce.. 2024. 6. 20.
SQLAchemy - Column expression, FROM clause, or other columns clause element expected, 오류 해결 SQLAchemy가 2.x로 업그레이드 되면서 과거 버전에서 사용하던 문법들을 간결화 한다는 목적으로 다수 지원하는게 없어져서 1.x 개발을 진행한 개발자들을 힘들게 한다.따라서 개발자는 SQLAchemy 1.x버전을 계속 사용하거나, 문제가 있는 부분을 패치해서 해결해야 한다.그중 오늘은  Column expression, FROM clause, or other columns clause element expected 으로 Metadata로 테이블 정보를 사용할 때 select 와 where를 함께 사용할 때 2.x에서 제거된 문법을 알아보고자 한다.1.x 버전에서 사용되던 문법 방식이다.select([table.c.x, table.c.y]).where(table.c.x == 1).frist()이중에 .. 2024. 6. 10.
머신러닝 - 선형 회귀(Linear regression) 알고리즘 특징과 코드 선형 회귀와 다항 회귀는 머신러닝에서 K-최근접 이웃점 회귀과 함께 기본적으로 배우게 되는 머신러닝 모델이자, 성능이 좋은 모델이라고 할 수 있다. 특히  K-최근접 이웃점 회귀과 다르게 미래를 예측할 수 기능을 가지고 있다. K-최근접 이웃점 회귀 는 미래의 데이터를 예측하는데에는 사용하기 어렵다. 이유는 학습 데이터의 평균으로 예측을 하기 때문에, 만약 측정되지 않은 값이 들어온다면, 예측이 되지 힘들어진다.이 부분에 선형 회귀를 이용해서 해결할 수 있는데, 이유는 학습 데이터를 통해 유의미한 연결 선을 생성하여 해당 선을 통해 측정되지 않은 값도 예측이 가능하게 된다.아래 그림과 같이 파란 점의 학습 데이터가 있다고 하자. 여기에 가장 중심이 되는 선을 하나 긋고, 이를 통해서 학습하지 않은 영역에.. 2024. 6. 8.
반응형