Window에서의 Airflow실습: Airflow 설치

김한별·2024년 12월 10일

Producting Serving

목록 보기
1/1

AirFlow 실습을 위한 준비 과정

내가 가지고 있는 노트북이 Window 환경이기 때문에 Vscode 내의 wsl Terminal에서 진행하였다.

1. WSL(Windows Subsstyem for Linux) 실행

ctrl+` 단축키로 터미널창을 열어주고, +버튼 옆 꺽쇠를 눌러 WSL을 연다.

2. 가상환경 설정

가상환경을 설정하기 전에 python --version으로 현재 Python의 버전부터 확인하는 것이 좋다. 그 버전과 동일한 버전의 파이썬이 가상환경 내에 사용되기 때문이다.

python -m venv .venv : 가상환경 구축
source .venv/bin/activate : 가상환경 활성화


2-1. Python 버전 업그레이드

WSL 환경에서 Python 버전을 업그레이드하는 방법은 배포판(Ubuntu, Debian 등)에 따라 조금식 다를 수 있지만, 일반적으로 사용할 수 있는 방법 중 Pyenv를 사용하는 방법을 다루겠다.

  • 코드를 전체 복붙하여 실행시켰을 때 제대로 진행되지 않는다면, 한 줄씩 진행하기 바란다. (\로 이어진 코드는 한 줄이다.)

1) pyenv 설치

현재 활성화된 가상환경을 deactivate 명령어로 비활성화 시킨 후 설치 준비를 한다.

deactivate
sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

이 다음 pyenv를 설치한다.

curl https://pyenv.run | bash

설치 후, 다음 내용을 파일에 추가한 뒤 셸을 다시 시작한다.

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

2) 원하는 버전으로 Python 설치

pyenv install 3.10.12  # 예: 파이썬 3.10.12 설치
pyenv global 3.10.12   # 시스템 전역 파이썬 버전을 3.10.12로 설정

잘 설치되었는지 python --version 명령어로 확인한다.

3) 구축해두었던 가상환경에서 다시 Python 버전 확인

python -m venv .venv
source .venv/bin/activate
python --version
  • 여기서 업그레이드 된 버전이 나온다면, 넘어가도 좋다.
  • 하지만 기존 버전이 그대로 나온다면, 아래의 명령어로 어느 파이썬을 가리키는지 확인해야 한다.
ls -l .venv/bin/python
  • ~/.pyenv/versions/3.10.12/bin/python이 아닌 다른 경로(예: /usr/bin/python3)로 되어 있다면, venv 생성 시점에 여전히 시스템 파이썬을 참조했다는 뜻이다.
  • 이럴 경우엔 기존에 생성된 venv 폴더를 삭제한 후 pyenv 파이썬의 절대 경로로 다시 venv를 생성하면 해결 된다.
deactivate  # 기존에 활성화된 venv 비활성화
rm -rf .venv  # 잘못 생성된 venv 폴더 삭제

# pyenv 파이썬의 절대 경로 확인 (설치한 파이썬 경로 예시)
~/.pyenv/versions/3.10.12/bin/python --version
# 위 명령에서 3.10.12가 나오면 해당 파이썬을 이용해 venv 생성
~/.pyenv/versions/3.10.12/bin/python -m venv .venv

source .venv/bin/activate
python --version  # 이제 3.10.12가 나와야 함

3. Airflow 설치

pip3 install pip --upgrade

AIRFLOW_VERSION=2.6.3
PYTHON_VERSION="$(python --version | cut -d " " -f 2 | cut -d "." -f 1-2)"
CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/ \
constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"

pip3 install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"

3-1. DB 초기화

설치가 완료되면 Airflow에서 사용할 DB를 초기화해야 한다.

export AIRFLOW_HOME=`pwd`

위 코드를 실행한 후 echo $AIRFLOW_HOME를 실행시켰을 때 현재 디렉토리의 위치가 출력되는 것을 확인한다.
그 다음 Airflow에서 사용할 DB를 초기화한다.

airflow db init

초기화하면 기본 파일이 생성된다.

  • airflow.cfg: Airflow 설정 파일
  • airflow.db: Airflow DB (이 실습해서는 SQLite를 사용)

    (WSL이나 터미널 환경에서 현재 디렉토리를 VSCode로 열고 싶다면 code . 명령어를 입력하면 된다.)

3-2. 어드민 계정 생성

Airflow에서 사용할 어드민 계정을 생성한다.

airflow users create \
--username admin \
--password '해킹당하지 않게 너무 간단하지 않은 비밀번호' \
--firstname 이름 \
--lastname 성 \
--role Admin \
--email asd@gmail.com

여기까지 에러 없이 완료했다면, Airflow 사용을 위한 준비를 마친 것이다.

profile
AI_CV에 관심 있는 대학생

0개의 댓글