윈도우 배치 파일 - 파이썬 가상환경 적용

개요

  • Python 가상환경을 만든 후, 자동으로 배치 파일이 돌아가도록 하는 코드를 작성하도록 한다.

Step 01 - 라이브러리 설치

  • 가상환경을 만든 후, pandas 라이브러리를 설치하도록 한다.
$ virtualenv venv
$ ./venv/Scripts/activate 
  • 만약 에러가 아래와 에러가 생길 경우,
$ .\venv\Scripts\activate
.\venv\Scripts\activate : 이 시스템에서 스크립트를 실
행할 수 없으므로 C:\Users\h\Desktop\python_batch\venv\
Scripts\activate.ps1 파일을 로드할 수 없습니다. 자세한
 내용은 about_Execution_Policies(https://go.microsoft.
com/fwlink/?LinkID=135170)를 참조하십시오.
위치 줄:1 문자:1
+ .\venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : 보안 오류: (:) [], PSSec
uri    tyException
    + FullyQualifiedErrorId : UnauthorizedAccess
  • PowerShell을 관리자 권한으로 실행 후 아래 코드를 입력한다. (Y 입력)
PS C:\WINDOWS\system32> Set-ExecutionPolicy Unrestricted

실행 규칙 변경
실행 정책은 신뢰하지 않는 스크립트로부터 사용자를 보호합니다. 실행 정책을 변경하면 about_Execution_Policies 도움말
항목(https://go.microsoft.com/fwlink/?LinkID=135170)에 설명된 보안 위험에 노출될 수 있습니다. 실행 정책을
변경하시겠습니까?
[Y] 예(Y)  [A] 모두 예(A)  [N] 아니요(N)  [L] 모두 아니요(L)  [S] 일시 중단(S)  [?] 도움말 (기본값은 "N"): Y

Step 02 - app.py 작성

  • app.py는 아래와 같이 작성한다.
    • iris.csv 파일은 검색하면 금방 나오기 때문에, 아무거나 다운로드 받는다.
import pandas as pd 

def main():
    print(pd.__version__)
    df = pd.read_csv("data/iris.csv")
    print(df)

if __name__ == "__main__":
    main()

Step 03 - myproject.cmd 파일 작성

  • 아래와 같이 batchFile.bat 파일을 작성한다.
call C:\Users\h\Desktop\python_batch\venv\Scripts\activate
@cd C:\Users\h\Desktop\python_batch
python app.py
pause

Step 04 - 환경변수 설정

  • 경로는 프로젝트에서 venv 까지 지정하면 된다.
  • 이 부분은 각자 프로젝트가 다르기 때문에 본인 프로젝트 경로를 지정해야 한다.
    • C:\Users\h\Desktop\python_batch\venv

Untitled

Heroku를 활용한 카카오챗봇 배포 - DB조회편

읽기 전 공지

  • 본 글은 2022년 11월 28일까지만 유효합니다. 무료 버전이 사라지기 때문에, 앞으로 어떻게 될지는 현재 글 쓰는 시점에서는 모릅니다. 이 부분에 주의해서 참고 하시기를 바랍니다.

강의 홍보

Heroku를 활용한 카카오챗봇 배포 - 응용편

읽기 전 공지

  • 본 글은 2022년 11월 28일까지만 유효합니다. 무료 버전이 사라지기 때문에, 앞으로 어떻게 될지는 현재 글 쓰는 시점에서는 모릅니다. 이 부분에 주의해서 참고 하시기를 바랍니다.

강의 홍보

Heroku를 활용한 카카오챗봇 배포 - 인사말편

읽기 전 공지

  • 본 글은 2022년 11월 28일까지만 유효합니다. 무료 버전이 사라지기 때문에, 앞으로 어떻게 될지는 현재 글 쓰는 시점에서는 모릅니다. 이 부분에 주의해서 참고 하시기를 바랍니다.

강의 홍보

Heroku를 활용한 배포 - DB 연결편

읽기 전 공지

  • 본 글은 2022년 11월 28일까지만 유효합니다. 무료 버전이 사라지기 때문에, 앞으로 어떻게 될지는 현재 글 쓰는 시점에서는 모릅니다. 이 부분에 주의해서 참고 하시기를 바랍니다.

강의 홍보

Docker Installation in Windows

사전 준비

도커 설치

Untitled

  • 관리자 권한으로 실행

Untitled

  • 설치가 완료가 되면 Close and Log Out 버튼이 나오면 클릭하면 윈도우 로그아웃이 진행되기 때문에, 다시 재 로그인을 하도록 한다.
  • 아래 그림 메뉴 우측 상단에 Sign In 버튼을 클릭해 로그인을 한다.

Untitled

  • 도커 Settings 창에 들어가서 아래 그림처럼 변경후 Apply & Restart 버튼을 클릭한다.

Untitled

테스트

  • PowerShell에서 도커 명령어가 실행되는지 확인한다.
PS C:\Users\h> docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
PS C:\Users\h> docker --version
Docker version 20.10.20, build 9fdeb9c
PS C:\Users\h> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         2
  docker-desktop         Running         2
  docker-desktop-data    Running         2

WSL2 설치 윈도우 10

Step 0. 설정을 통해 Hyper-V 역할 활성화

  • Windows 기능 사용/사용 안 함

Untitled

  • 재부팅을 해야 한다.

Step 1. WSL2 설치 과정

  • Windows PowerShell 관리자로 실행 후 다음 명령어 입력
$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Untitled

  • Windows Powershell 열고 아래 코드 실행
$ wsl --set-default-version 2
WSL 2와의 주요 차이점에 대한 자세한 내용은 https://aka.ms/wsl2를 참조하세요

마이크로소프트 스토어에서 리눅스 설치

  • 마이크로소프트 스토어(Microsoft Store) 앱을 열고 Ubuntu를 검색한다.

Untitled

Excel with MySQL 연동

개요

  • 엑셀 VBA 강의 중 Excel에서 MySQL DB와 연동하는 방법 의뢰를 받음
  • 엑셀은 MySQL과 연결이 (생각보다) 매우 쉽게 할 수 있도록 설계 되어 있었음

사전준비

버전 확인

  • 먼저 필자는 윈도우 11에서 작업중임
  • 필자의 엑셀 정보는 아래와 같음
    • [계정] - [Excel 정보] 클릭하면 아래와 같음

Untitled

  • 필자의 MySQL 정보는 아래와 같음

Untitled

필수 설치 프로그램 다운로드 및 설치

Untitled

Plotly 그래프 - 막대 그래프 색상 변경

개요

  • 특정 컬럼의 색상을 변경하는 코드를 작성한다.

기본 그래프 작성

  • 우선 아래와 같은 기본 그래프를 작성한다.
import plotly.express as px 

tips = px.data.tips()
tips_mean_day = tips.groupby("day").mean().reset_index()
tips_mean_day.head()

Untitled

fig = px.bar(tips_mean_day, x = 'day', y = 'tip')
fig.show()

newplot_01.png

Sun 색상 변경

  • Sun 값의 막대 그래프의 색상을 변경하도록 한다.
  • 먼저 marker.color를 활용하여 색상을 먼저 지정한 뒤, X축 라벨의 순서를 후에 재정렬한 것이다.
fig.data[0].marker.color = ['#ff0000', '#ff0000', 'black', '#ff0000']
fig.layout.xaxis.categoryarray = ["Thur", "Fri", "Sat", "Sun"]
fig.show()

newplot_01.png

투명도 설정

fig.data[0].marker.color = ['#ff0000', '#ff0000', 'black', '#ff0000']
fig.data[0].marker.opacity = [0.3, 0.3, 1, 0.3]
fig.layout.xaxis.categoryarray = ["Thur", "Fri", "Sat", "Sun"]
fig.show()

newplot_02.png

Plotly 그래프 - 막대 그래프 X축 라벨 변경하기

개요

  • 기존에 작성한 그래프를 목적에 맞게 수정 및 변경할 수 있다.
  • Figure Object를 활용한다.

데이터 불러오기 및 가공

  • tips 데이터를 불러온 뒤, 데이터를 가공하여 평균 값을 구한다.
import plotly.express as px 

tips = px.data.tips()
tips_mean_day = tips.groupby("day").mean().reset_index()
tips_mean_day.head()

Untitled

막대 그래프 작성하기

  • 기본 막대그래프를 작성한다.
  • 그런데, X축의 값을 보면 요일별로 정리가 안된 것을 확인할 수 있다. 이 부분을 수정하도록 한다.
fig = px.bar(tips_mean_day, x = 'day', y = 'tip')
fig.show()

newplot_01.png

막대 그래프의 X 라벨 변경하기

  • 우선 막대그래프의 순서를 변경하도록 한다. 세가지 방법이 있다. 첫번째는 최초 그래프를 생성할 때, category_orders 에 그래프의 순서를 지정하는 방법이 있다.
fig = px.bar(tips_mean_day, x = 'day', y = 'tip', category_orders={"day": ["Thur", "Fri", "Sat", "Sun"]})
fig.show()

newplot_02.png