๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Airflow/Airflo์˜ค๋ฅ˜ํ•ด๊ฒฐ

[Airflow] airflow ๊ฐ€์ƒํ™˜๊ฒฝ python ๋ฒ„์ „ ์ฐธ์กฐ ์˜ค๋ฅ˜

by arirang_ 2024. 12. 17.

๐Ÿ“Œ ๋‚˜์˜ ๋ฌธ์ œ ์ƒํ™ฉ

vscode์—์„œ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”ํ•˜๊ณ  airflow ์„œ๋ฒ„์™€ ์Šค์ผ€์ฅด์„ ์‹คํ–‰ํ•˜๊ณ  airflow ๊ด€๋ จํ•œ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ dag์„ ์ถ”๊ฐ€ํ•ด๋„ airflow UI์— ๋ฐ˜์˜์ด ํ•˜๋‚˜๋„ ์•ˆ๋˜์—ˆ๋‹ค. scheduler๋ฅผ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ๋„ 'scheduler์ด ์ž‘๋™ํ•˜๊ณ  ์žˆ์ง€ ์•Š๋‹ค'๋Š” ๋ฌธ๊ตฌ๋งŒ ๊ณ„์† ๋–ด๋‹ค.

 

๐Ÿ“Œ ๋ฌธ์ œ ์›์ธ

๋‚˜๋Š” airflow 2.6.3์„ ์„ค์น˜ํ–ˆ๋‹ค. Airflow 2.6.3 โ†’ Python 3.7, 3.8, 3.9, 3.10 ์ง€์›ํ•œ๋‹ค.

๋‚˜์˜ .venv ํด๋”์— ์žˆ๋Š” pyvenv.cfg์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •๋˜์–ด ์žˆ์—ˆ๋‹ค.

home = /path/to/project/.pyenv/versions/3.10.13/bin
include-system-site-packages = false
version = 3.10.13

airflow 2.6.3์€ python 3.10์„ ์ง€์›ํ•˜๋ฏ€๋กœ ๋ฌธ์ œ๋ ๊ฒŒ ์—†์—ˆ๋‹ค.

 

๋ฌธ์ œ๋Š” pyvenv.cfg์˜ python version์€ 3.10.13์œผ๋กœ ๋˜์–ด์žˆ๋Š”๋ฐ ๋ช…๋ น์–ด python -V์„ ํ†ตํ•ด python ๋ฒ„์ „์„ ํ™•์ธํ•˜๋ฉด 3.11.7์ด ๋‚˜์˜จ๋‹ค๋Š” ๊ฒƒ์ด์˜€๋‹ค. ์˜๋„๋Œ€๋กœ๋ฉด 3.10.13์ด ๋‚˜์™€์•ผ ํ•œ๋‹ค.

$ python -V
Python 3.11.7

 

๊ฐ€์ƒํ™˜๊ฒฝ .venv์˜ Python ์‹คํ–‰ ํŒŒ์ผ์ด ์–ด๋–ค ๊ฒฝ๋กœ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š”์ง€ ํ™•์ธํ•ด๋ณด๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์•˜๋‹ค. 

$ ls -l /path/to/project/.venv/bin/python

 

์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

lrwxr-xr-x  1 username staff  20 Dec 16 11:00 /path/to/project/.venv/bin/python -> /opt/anaconda3/bin/python

 

.venv/bin/python์ด ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋กœ ์„ค์ •๋˜์–ด ์žˆ๊ณ , ์‹ค์ œ Python ์‹คํ–‰ ํŒŒ์ผ์ด /opt/anaconda3/bin/python์„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

 

์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ Python(์˜ˆ: Anaconda Python 3.11.7)์„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์–ด์„œ, ๊ฐ€์ƒํ™˜๊ฒฝ์ด ์˜๋„ํ•œ ๋ฒ„์ „๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•œ ๊ฒƒ์ด๋‹ค.

 

.venv ์ƒ์„ฑ ์‹œ ์ž˜๋ชป๋œ Python ๋ฒ„์ „์ด ์ฐธ์กฐ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ๋ด์•ผ๊ฒ ๋‹ค.

 

๐Ÿ“Œ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ํŒŒ์ด์ฌ ๋ฒ„์ „์„ ๊ฐ€๋ฆฌํ‚ค์ง€ ์•Š๋„๋ก .venv ํด๋”๋ฅผ ์ง€์šฐ๊ณ  

$ python -m venv .venv

์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด venv ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋‹ค์‹œ ์ƒ์„ฑํ–ˆ๋‹ค.

 

์ƒ์„ฑ ํ›„ python -V๋ฅผ ํ™•์ธํ•˜๋‹ˆ, pyvenv.cfg์™€ ๋™์ผํ•˜๊ฒŒ 3.10.13์ด ๋‚˜์™”๊ณ , ์ดํ›„ ๋™์ž‘์€ ์ •์ƒ์ ์œผ๋กœ ์ด๋ฃจ์–ด์กŒ๋‹ค.

 

$ ls -l /path/to/project/.venv/bin/python

์œ„ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ™•์ธํ•œ ๊ฒฐ๊ณผ ์•„๋ž˜์™€ ๊ฐ™์€ ์ถœ๋ ฅ๊ฐ’์ด ๋‚˜์™”๋‹ค.

 

lrwxr-xr-x  1 username staff  20 Dec 16 11:00 /path/to/project/.venv/bin/python -> /path/to/.pyenv/versions/3.10.13/bin/python

 

.venv๋Š” ์˜๋„ํ•œ ๋Œ€๋กœ Python 3.10.13 ๋ฒ„์ „์„ ์ฐธ์กฐํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ์ƒํƒœ์ด๋‹ค.

์‹ค์ œ๋กœ Pyenv๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” Python 3.10.13 ๋ฒ„์ „์„ ์ฐธ์กฐํ•˜๋„๋ก ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

Airflow 2.6.3๊ณผ ํ˜ธํ™˜๋˜๋ฏ€๋กœ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜์˜€๋‹ค.

 

๐Ÿ“Œ ์ฐธ๊ณ 

airflow 2.7.0๋ถ€ํ„ฐ python 3.11์„ ํ˜ธํ™˜ํ•œ๋‹ค.

https://airflow.apache.org/docs/apache-airflow/stable/release_notes.html#airflow-2-7-0-2023-08-18

 

Release Notes โ€” Airflow Documentation

 

airflow.apache.org