본문 바로가기

Python

(16)
[Django] Django 프로젝트명 변경하려면 여기 수정하세요 Change folder namesettings.py 수정ROOT_URLCONF = 'newName.urls'WSGI_APPLICATION = 'newName.wsgi.application'wsgi.py 수정os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'newName.settings')manage.py 수정os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'newName.settings')
[Pandas] FutureWarning 에러 - Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. 문제 상황판다스를 활용한 함수를 활용하여 알고리즘 실행 시 결과값 생성에 이상은 없으나 아래와 같은 경고메세지를 출력하고 있는 상황이다.FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '0.45399999999999996' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.Pandas를 사용하여 데이터 프레임을 다루는 과정에서 특정 열에 서로 호환되지 않는 데이터 유형을 할당하려 할 때 FutureWarning 경고 메시지가..
[Python] __init__.py 파일에 대해 알아보자. 패키지(Package)는 Python 모듈이 어떤 계층을 가지고 모여있는 모듈의 집합입니다. 하나의 패키지 안에는 여러 개의 모듈이 들어있고, 각 모듈은 하나의 .py 파일입니다. `A`라는 패키지 안에 들어있는 모듈 `B.py`를 가리킬 때 `A.B`로 나타낸다.1. 패키지 존재 여부 알림__init__.py 파일은 해당 디렉터리가 패키지의 일부임을 알려 주는 역할을 한다.만약 패키지에 포함된 디렉토리에 __init__.py 파일이 없다면 패키지로 인식하지 않는다.python3.3 버젼부터 파일이 없어도 인식하나, 하위버젼 호환을 위해 파일을 생성하는 것을 권장한다2. 패키지 수준에서의 변수와 함수 정의__init__.py 파일은 패키지와 관련된 설정이나 초기화 코드를 포함할 수 있다.3. 패키지 초..
[Python] __main__ 메소드에 대해 알아보자 파이썬은 python 명령어로 실행하는 실제 파일 이름을 __main__으로 정한다.그 다음 module을 import해서 모듈 코드를 읽어 들인다.코드 진입점에 해당하는 파일을 지칭함으로써 실제 실행되는 파일이 무엇인지 나타내기 위한 특별한 모듈 이름이다.__name__ 변수 값이 __main__으로 지정되는 경우를 별도로 지정하면, 라이브러리로 사용하는 경우와 직접 모듈을 실행하는 경우로 나누어 코드를 작성할 수 있다.예를 들어, main.py 함수를 실행할 때는 영향을 받지않고, 특정 모듈을 실행했을 경우에만 작동하는 테스트를 진행하도록 만들 수도 있다.Code# main.pyfrom calcuator import calcuator_sumprint("main.py starting....")print..
[Python] __repr__ 메소드에 대해 알아보자 __repr__ 메소드는 Python의 매직 메소드 중 하나로, 객체의 공식적인 문자열 표현을 정의하는데 사용됩니다.주로 디버깅이나 로그 기록 시, 객체의 정보를 쉽게 확인할 수 있도록 도와주며, repr()함수나 인터프리터에서 객체를 출력할 때 호출됩니다.__repr__ 메서드의 사용법__repr__ 메서드는 클래스 내부에 정의되며, 다음과 같은 형식으로 작성됩니다:pythondef __repr__(self): return "Your string representation"여기서 self는 현재 객체를 참조합니다. 메서드 내에서 객체의 속성을 사용하여 문자열을 구성할 수 있습니다.예제아래는 Todo 클래스의 __repr__ 메서드를 사용하는 예제입니다:pythonclass Todo: def ..
Mac 환경에서 mysqlclient 설치 시, pkg-config가 설치되어 있지 않다면 만날 수 있는 에러 - Can not find valid pkg-config name. Mac 환경에서 mysqlclient 설치 시, pkg-config가 설치되어 있지 않다면 만날 수 있는 에러 상황이다. FastAPI에서 SQLAlchemy를 사용하여 ORM 세팅 시, MySQL를 사용한다면 연결하기 위해서 mysqlclient 설치가 필요하다.poetry add mysqlclient poetry를 사용한다면 위 명령어 입력 시, 아래와 같이 pkg-config를 찾을 수 없다는 예외 메세지를 확인할 수 있는데Exception: Can not find valid pkg-config name. Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually [end of output] brew 명령어로 ..
[FastAPI] LifeSpan Events에 대해 알아보자 이 글은 FastAPI 프로세스가 시작 또는 종료 될 때, 특정 함수를 호출하는 생명주기 이벤트 핸들링에 대해 정리한다. 내용은 이전에 사용하던 on_event 방식을 먼저 설명하고, 현재 권장하는 lifespan 방식을 설명하는 순서로 진행한다.1. on_event 방식 (Deprecated)과거에 FastAPI에서 생명주기 이벤트 핸들링을 할 때는 on_event(with startup and shutdown )를 사용해서 이벤트를 관리했었다.startup 이벤트를 함수에 선언해서 어플리케이션이 시작하기 전에 실행하도록 한다.여러 개의 이벤트 함수를 생성할 수도 있으며, 어플리케이션은 모든 startup 이벤트 핸들러가 성공할 때까지 request 수신을 시작할 수 없다.from fastapi imp..
Sqlacodegen 사용하여 SqlAlchemy Model 자동생성하기 새로운 테이블을 구성하는 것이 아니라 이미 구축되어 있는 데이터베이스에 연결하여 이를 매핑해야하는 상황이다.ORM 모델을 만들어야하는데 181개의 컬럼인 테이블을 직접 만드는거 자체가 말이 안되서 역시나 파이썬 라이브러리가 있을 거라고 굳게 믿고 검색했더니 sqlacodegen라는 라이브러리가 존재한다.관심 있는 사람들은 깃허브 링크를 참고 -> https://github.com/agronholm/sqlacodegen빠르게 들어가보자pippip install sqlacodegen Command터미널에서 DB 접속 정보와 함께 생성할 모델을 정의하게 되면 해당 데이터베이스에 있는 테이블들이 모두 SqlAlchemy Class 파일로 생성이 된다.sqlacodegen postgresql://dongheonl..