python logging timezone 변경 하기

시스템 시간은 UST인데 Python 프로그램에서만 timezone을 변경하여 log를 출력할 일이 있습니다. 시스템 시간 변경 시 영향을 주는 곳이 많기 때문에 특정 프로그램 사용에만 timezone 변경하려는 의도였는데요. 간단하게 바꾸는 방법은 찾지…

0 Comments

FastAPI 비동기 API를 pytest로 테스트 하기

poetry로 Python 프로젝트를 세팅하고 FastAPI의 비동기 API를 pytest로 테스트 해보겠습니다. 보통 Database transaction이 있는 동작의 경우 DB 연결을 비동기 형태로 해서 API를 구현하는 경우가 있을텐데 이런 경우 sync 형태로 pytest를…

0 Comments

FastAPI + Celery 연동 예제(FastAPI with Celery example)

FastAPI에서 Celery를 사용하여 비동기 태스크를 실행하는 예제를 정리해보겠습니다. 참고로 localhost에 redis가 동작중이어야합니다. main.py from fastapi import FastAPI from celery_worker import divide app = FastAPI() @app.get("/") async def root(): return {"message":…

0 Comments

Ubuntu pyenv 설치와 기본 사용 방법

pyenv 설치 pyenv 설치하기 전에 의존성 패키지들을 설치한다. sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \ libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ xz-utils tk-dev 의존성 패키지…

0 Comments

python으로 aws s3 bucket 다루기

s3 bucket에 있는 파일 목록 보기 import boto3 s3 = boto3.resource('s3') my_bucket = s3.Bucket('some/path/') for my_bucket_object in my_bucket.objects.all(): print(my_bucket_object) 참고 python - Listing contents of a bucket with boto3 -…

0 Comments

numpy 기초 정리

numpy import 하기 import numpy as np numpy array 기본 생성 nd1 = np.array([[1,2], [3,4]]) nd1 array([[1, 2, 3], [3, 4, 1]]) numpy 주요 속성 nd1.ndim ## 차원(rank) nd1.size ##…

0 Comments

Mac OS에 brew를 이용한 Anaconda 설치하기

Homebrew와 pyenv는 설치되어 있다고 가정하겠다. pyenv를 이용한 Anaconda 설치 $ pyenv install --list 위 명령으로 설치 가능한 Anaconda 버전 리스트를 확인할 수 있다. anaconda3-5.0.0 anaconda3-5.0.1 anaconda3-5.1.0 anaconda3-5.2.0 anaconda3-5.3.0 anaconda3-5.3.1 위와…

0 Comments

Failed building wheel for PyGObject

MacOS에서 PyGObject 패키지를 pip으로 설치하는 과정에서 다음과 같은 오류가 발생했다. ERROR: Command errored out with exit status 1: command: /Users/victor/venv/dev_py36/bin/python /Users/victor/venv/dev_py36/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /var/folders/cb/hj031cjn06v25qv773t8s7qm0000gn/T/tmps1lk36vj cwd: /private/var/folders/cb/hj031cjn06v25qv773t8s7qm0000gn/T/pip-install-gm85uy4t/PyGObject Complete output (43 lines): running…

0 Comments