python ๋ชจ๋ ์ค์
sys.path์ ๊ฐ ์ถ๊ฐ
- ๋ช
์์ ์ผ๋ก ์ถ๊ฐ
- ์)
sys.path.append('/home/haejun') - ๊ฒฝ๋ก List์ ์ง์ ์ ์ผ๋ก ์ถ๊ฐํ๋ ๋ฐฉ์
- ์)
- OS ํ๊ฒฝ๋ณ์
PYTHONPATH๊ฐ ์ถ๊ฐ
Airflow ์ฅ์
์ฅ์
- ๊ณตํตํจ์ ์์ฑ
- ์ฌํ์ฉ์ฑ ์ฆ๊ฐ
- DAG ๊น๋
- ์๋์ ์ผ๋ก dagsํด๋์ plugins ํด๋๋ฅผ sys.path์ ์ถ๊ฐํจ
๊ฐ๋ฐํ๊ฒฝ๊ณผ Airflow์์์ ์ฐจ์ด์
- plugins ํด๋์ common ํด๋์ common_func.py ์์ฑ
- python ๊ฐ๋ฐํ๊ฒฝ
- ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ๋ฐํ๊ฒฝ ์ค์ ์ ํ๋ก์ ํธ ํด๋๊ฐ ์์ํด๋๋ก ์กํ์ ์๋์ ๊ฐ์ด ์์ฑํด์ผ ํจ
from plugins.common.common_func- airflow ํ๊ฒฝ
- ๊ทธ๋ฌ๋, airflow์์๋ python ๊ฐ๋ฐํ๊ฒฝ์ด ์๋๋ฏ๋ก plugins ํด๋๋ฅผ ์ธ์ํ์ง ๋ชปํจ
- ๋ฐ๋ผ์ ๋ฐ๋ก common ํด๋๋ช ์ ์ง์
- Why? airflow๋ ์๋์ผ๋ก plugins ํด๋๋ฅผ sys.path์ ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ธ์!!
from common.common_func- python ๊ฐ๋ฐํ๊ฒฝ ์ค๋ฅ ํด๊ฒฐ๋ฐฉ๋ฒ
- ํ๋ก์ ํธ ํด๋ ๋ด
.envํ์ผ ์์ฑ - tip!
.env๋ git์ ์ ์ฌ๋ ค๋ ๋จ
- ํ๋ก์ ํธ ํด๋ ๋ด
WORKSPACE_FOLDER = /Users/haejun/vscode/airflow
PYTHONPATH = ${WORKSPACE_FOLDER}/plugins