Python 9

python ORM 생성 sqlacodegen 라이브러리 한글 깨짐

python에서 orm으로 작업하기 위해서는 table을 Model로 만들어줘야한다 이걸 자동으로 해주는 라이브러리 sqlacodegen https://github.com/agronholm/sqlacodegen 설치방법 pip install sqlacodegen Mariadb 사용법 sqlacodegen "mysql+pymysql://user:password@host:port/dbname" > models.py comment에서 한글이 깨질 경우 sqlacodegen "mysql+pymysql://user:password@host:port/dbname?charset=euckr" > models.py # models.py 파일을 vscode로 열고 Encoding을 EUC-KR로 변경 하면 commnet의..

Python 2022.11.15

Python APScheduler 스케줄 설정

python 에서 스케줄을 적용할때는 보통 리눅스의 cron 을 사용하였다 좀더 편한 방법을 찾던중 파이썬내에서 스케줄을 제어 할 수 있는 라이브러리가 있었다 https://pypi.org/project/APScheduler/ pip install APScheduler from apscheduler.schedulers.background import BackgroundScheduler def schedulerJob(): # 실행할 프로세스 def backgroundScheduler(): scheduler = BackgroundScheduler(daemon=True) scheduler.start() scheduler.add_job(schedulerJob, 'cron', hour=9) # schedulerJ..

Python 2020.05.30

Python3 + Flask + Google OAuth

google Oauth 를 이용하여 Flask 에서 로그인 처리를 하려 할 때 사용합니다 1. googleAPI 등록 우선 googleAPI에 등록이 되어있야한다 https://console.developers.google.com/apis에 접속한다 좌측 메뉴에 OAuth 동의 화면으로 이동하여 신규 OAuth를 생성한다 개인적으로 내부 계정으로 사용할 예정이라 애플리케이션 유현은 내부로 설정 애플리케이션 이름은 편한 데로 작성 지원 이메일은 로그인한 계정이 작성되어있다 이대로 완료하면 OAuth 사용할 준비 완료 좌측에 사용자 인증 정보 메뉴로 들어가면 신규일 경우 생성된 키가 아무것도 없을 것이다 사용자 인증 정보 만들기 를 눌러 OAuth 클라이언트 ID를 생성한다 애플리케이션 유형은 하고 자 하는..

Python 2020.05.14

[ubuntu18.04] Apache2 + Python3 + WSGI

ubuntu18.04 버전 기준입니다 ubuntu18.04의 기본 python버전은 3.6으로 세팅되어있습니다 sudo apt-get install apache2 sudo apt-get install libapache2-mod-wsgi-py3 sudo a2enmod wsgi cd /etc/apache2/sites-available vi 000-default.conf ErrorLog /workspace/service/WebServer/log/error.log CustomLog /workspace/service/WebServer/log/access.log combined WSGIDaemonProcess WebServerApp threads=10 python-path=/workspace/service/WebS..

Python 2020.05.12

multiprocessing , thread 사용하기

여러개의 thread를 사용하면서 각각에서 반복문이 동작을 해야하는 경우 하단의 소스와 같이 사용하시면 됩니다 import threading def threadTest(val): while True: print(val) def processTest1(): test = "1" thread = threading.Thread(target=threadTest, args=(test,)) thread.start() def processTest2(): test = "2" thread = threading.Thread(target=threadTest, args=(test,)) thread.start() if __name__ == '__main__': processTest1() processTest2() 아래와 같이 사..

Python 2019.11.15

Windows10 - Anaconda - pycocotools 설치하기

pycocotools는 mac, linux를 지원한다 anaconda 플러그인으로 설치하려 해도 window는 지원하지 않는다 https://anaconda.org/conda-forge/pycocotools Pycocotools :: Anaconda Cloud anaconda.org 윈도우에선 env terminal 에서 아래 처러 입력하면 설치가 된다 pip install git+https://github.com/philferriere/cocoapi.git#egg=pycocotools^&subdirectory=PythonAPI pip install git+https://github.com/philferriere/cocoapi.git#egg=pycocotools^&subdirectory=PythonAPI..

Python 2019.09.03

윈도우 NVIDIA CUDA 설치하기

CUDA Toolkit 과 cuDNN SDK 설치 https://www.tensorflow.org/install/gpu 에서 보면 소프트웨어 요구사항 항목에서 CUDA Toolkit 다운로드 경로 https://developer.nvidia.com/cuda-toolkit-archive cuDNN SDK 다운경로 경로 회원가입후 사용가능 https://developer.nvidia.com/rdp/cudnn-download CUDA Toolkit 와 cuDNN SDK 는 버전에 맞게 다운 받아준다. 예) CUDA Toolkit 10.1 Download cuDNN v7.6.2 (July 22, 2019), for CUDA 10.1 설치순서 1. CUDA Toolkit 설치 설치위치 기억하고 있음 예) C:\P..

Python 2019.07.29

python opencv webcam 1080p 로 출력

opencv에서 webcam에서 비디오를 읽어 들일때 cv2.VideoCapture(0) 이렇게 사용한다. 로지텍 webcam을 이용해서 비디오를 읽으면 대다수 우린 1080p를 원하지만 720p로 나온다. 로지텍 webcam에서 1080p로 읽어들이는 방법은 cv2.VideoCapture(cv2.CAP_DSHOW) 이렇게 0 대신에 cv2.CAP_DSHOW 로 변경 해주면 된다. ps. 카메라가 여러대라면 cv2.VideoCapture(cv2.CAP_DSHOW + 카메라인덱스) 사용한 카메라는 logitech webcam c920r

Python 2019.05.24