파이썬

파이썬을 활용한 자동화, 데이터 처리, 간단한 개발 사례를 공유합니다.

파이썬

Python 개발환경 쉽게 옮기는 방법 (feat. Anaconda Cloud)

새 컴퓨터에 Python 개발환경을 만들어야 할 때, Anaconda Cloud를 사용하면 시간을 절약할 수 있다. 요약하면 다음과 같다.  기존 컴퓨터에서 Python으로 만들어 놓은 가상환경들을 Anaconda Cloud에 Backup 한다.  새 컴퓨터에 Anaconda를 설치하고, Anaconda Navigator를 실행한다. Import를 클릭하여 Cloud에 Backup한 가상환경을 가져온다.  조금 더 자세히 정리하면 아래와 같다.  1. [기존 컴퓨터] Anaconda Navigator를 실행한다.  2. [기존 컴퓨터] […]

파이썬

gunicorn: Worker failed to boot.

  Photo by John Schnobrich on Unsplash gunicorn을 bind 옵션만 지정해서 실행하면 에러가 발생했을 때 원인을 찾기가 어렵다. 1 2 3 4 5 6 7 8 (venvpluto) devr@pluton:/works/venvpluto$ gunicorn ––bind 0:5000 “webapp:create_app()” [2022–02–06 08:35:07 +0900] [1270] [INFO] Starting gunicorn 20.1.0 [2022–02–06 08:35:07 +0900] [1270] [INFO] Listening at: http://0.0.0.0:5000 (1270) [2022–02–06 08:35:07 +0900] [1270] [INFO] Using worker: sync [2022–02–06 08:35:07 +0900] [1272] [INFO] Booting worker with pid: 1272 [2022–02–06 08:35:08 +0900] [1270] [INFO] Shutting down: Master [2022–02–06 08:35:08 +0900] [1270] [INFO] Reason: Worker failed to boot. (venvpluto) devr@pluton:/works/venvpluto$ Colored by Color Scripter cs 이런 경우 preload 옵션을 추가로 지정하면 애플리케이션 코드에서 발생한 오류를 확인할 수 있다. 1 2 3

파이썬

Flask + Bootstrap nav, 선택 메뉴 표시하기

배경 Python, Flask, Bootstrap을 이용하여 웹사이트 하나를 거의 완성했다. 버전 1.0을 찍고 끝내도 될 것 같다. 마무리로 상단 메뉴를 클릭하면 선택한 메뉴를 표시해 주려고 한다. 상단 메뉴는 Bootstrap nav를 사용했는데, 예제를 보니 class에 active를 지정하기만 하면 된다.   1차 시도 자바스크립트를 쓰면 된다고 생각했다. 특정 메뉴를 클릭하면 그 이벤트를 받아서 class에 active를 추가해주면 되겠지? 그러나 완벽한

파이썬

Python, Mysql에서 in 조건문 사용 방법

Photo by Caspar Camille Rubin on Unsplash 환경 Python 3.8 mysql-connector-python 8.0.26 요약 where 조건절에 in 조건문이 있는 경우에는 쿼리를 동적으로 작성해야 한다.  왜냐하면 in 구문에 들어가야 할 %s-markers 갯수가 매번 달라질 수 있기 때문이다.  구현 query_params = …..   sql = ‘select col1, col2  ‘        ‘from table1 ‘        ‘where area in ( %s ) ‘   conn = db_pool.get_connection() curs = conn.cursor()   format_strings = ‘,’.join([‘%s’] * len(query_params))   curs.execute(sql % format_strings, tuple(query_params)) cs 참조 https://stackoverflow.com/questions/17847297/mysql-connector-python-in-operator-stored-as-list

파이썬

python 개발 팁

Photo by Proxyclick Visitor Management System on Unsplash and, or 조건문에서 여러 조건을 판단해야 하는 경우 &&, || 대신 and, or을 사용한다.  MySQL의 Decimal은 Json으로 변환하지 못한다. Decimal 타입 데이터를 json으로 보내는 경우 아래와 같은 에러가 발생한다.  TypeError: Object of type Decimal is not JSON serializable Float로 형변환을 해서 보내거나, MySQL의 데이터 타입을 Float로 하자. 

파이썬

Flask + DB Connection Pool 설정(feat. MySQL)

Photo by Simone Viani on Unsplash  요약 DB Connection Pool을 관리하는 클래스를 작성한다. (class DbPool)– DB Connection Pool을 생성하는 메서드 – DB Connection을 리턴하는 메서드  Flask app 객체를 만들 때 DbPool 클래스 객체를 생성한다. – 초기화 메서드를 호출해서 DB Connection Pool을 생성한다.  DB 커넥션이 필요하면 DbPool 클래스 객체의 메소드를 통해 커넥션을 가져온다.  왜? 점프 투 플라스크와 인터넷을

파이썬

anaconda + Pycharm에서 패키지 설치가 안될 때

 3줄 요약 – 콘솔창에서 가상환경을 활성화 한다.   – conda install 패키지를 시도한다.  – pip install 패키지를 시도한다.  개발 환경 – Anaconda 4.10.1 – Pycharm 2021.1 Anaconda와 Pycharm을 이용해서 파이썬 웹개발을 시작했다. 플라스크가 가볍고 간편하다고 해서 패키지를 설치했고, ORM을 위해서 Flask-Migrate을 설치하려고 했다. 그런데 Pycharm에서 조회가 안된다. 다른 패키지들은 조회만 하면 설치할 수 있었는데, 이건 왜

파이썬

pymysql 사용 예제

Photo by Mika Baumeister on Unsplash pymysql을 이용하여 mysql에 데이터를 넣는 코드를 작성했다.  1 2 3 4 5 6 7 8 apt = ‘아크로리버파크’ price = 300000 with connection: with connection.cursor() as cursor: # Create a new record sql = “insert into kb_market_price ( apt_nm, apt_price ) values ( %s, %d )” cursor.execute(sql, (apt, price))

파이썬

openpyxl 사용 예제

openpyxl을 이용하여 엑셀 파일에서 데이터를 한 줄씩 읽으면서 배열에 담는 코드를 만들었다. 배열에 담을 때 첫번째 열에는 1부터 시작하는 순번을 삽입하도록 했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import openpyxl as xl wb = xl.load_workbook(‘./excel/OO아파트 과거시세.xlsx’) ws = wb[‘과거시세’] sheetrows = [] i = 0 idx =

파이썬

윈도우에서 Python 버전 별 가상환경 설정하기

Why? Python 2.7 버전이 설치된 상태에서, Python 3.6 버전을 설치했다. virtualenv를 이용해서 실행환경만 분리하면 될 거라 생각했는데, 오산이었다. 검색을 통해 여러 글들을 참조하며 시도해 봤지만, 잘 안되더라. 어찌 어찌 운 좋게 stackoverflow에서 찾은 방법을 정리한다. 나의 환경 Python 2.7 설치 – c:Python27 – pip, virtualenv 등을 설치하여 사용 중 – 환경변수 Path 설정 Python 3.6

위로 스크롤