Python 개발환경 쉽게 옮기는 방법 (feat. Anaconda Cloud)
Anaconda Cloud를 활용한 Python 개발 환경 구성 가이드. 가상환경 생성부터 패키지 설치, 실무 적용까지 단계별로 쉽게 정리했습니다.
파이썬을 활용한 자동화, 데이터 처리, 간단한 개발 사례를 공유합니다.
Anaconda Cloud를 활용한 Python 개발 환경 구성 가이드. 가상환경 생성부터 패키지 설치, 실무 적용까지 단계별로 쉽게 정리했습니다.
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
배경 Python, Flask, Bootstrap을 이용하여 웹사이트 하나를 거의 완성했다. 버전 1.0을 찍고 끝내도 될 것 같다. 마무리로 상단 메뉴를 클릭하면 선택한 메뉴를 표시해 주려고 한다. 상단 메뉴는 Bootstrap nav를 사용했는데, 예제를 보니 class에 active를 지정하기만 하면 된다. 1차 시도 자바스크립트를 쓰면 된다고 생각했다. 특정 메뉴를 클릭하면 그 이벤트를 받아서 class에 active를 추가해주면 되겠지? 그러나 완벽한
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
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로 하자.
Photo by Simone Viani on Unsplash 요약 DB Connection Pool을 관리하는 클래스를 작성한다. (class DbPool)– DB Connection Pool을 생성하는 메서드 – DB Connection을 리턴하는 메서드 Flask app 객체를 만들 때 DbPool 클래스 객체를 생성한다. – 초기화 메서드를 호출해서 DB Connection Pool을 생성한다. DB 커넥션이 필요하면 DbPool 클래스 객체의 메소드를 통해 커넥션을 가져온다. 왜? 점프 투 플라스크와 인터넷을
3줄 요약 – 콘솔창에서 가상환경을 활성화 한다. – conda install 패키지를 시도한다. – pip install 패키지를 시도한다. 개발 환경 – Anaconda 4.10.1 – Pycharm 2021.1 Anaconda와 Pycharm을 이용해서 파이썬 웹개발을 시작했다. 플라스크가 가볍고 간편하다고 해서 패키지를 설치했고, ORM을 위해서 Flask-Migrate을 설치하려고 했다. 그런데 Pycharm에서 조회가 안된다. 다른 패키지들은 조회만 하면 설치할 수 있었는데, 이건 왜
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을 이용하여 엑셀 파일에서 데이터를 한 줄씩 읽으면서 배열에 담는 코드를 만들었다. 배열에 담을 때 첫번째 열에는 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 =
Why? Python 2.7 버전이 설치된 상태에서, Python 3.6 버전을 설치했다. virtualenv를 이용해서 실행환경만 분리하면 될 거라 생각했는데, 오산이었다. 검색을 통해 여러 글들을 참조하며 시도해 봤지만, 잘 안되더라. 어찌 어찌 운 좋게 stackoverflow에서 찾은 방법을 정리한다. 나의 환경 Python 2.7 설치 – c:Python27 – pip, virtualenv 등을 설치하여 사용 중 – 환경변수 Path 설정 Python 3.6