외부 파이썬 함수 수행하기 - workspace folder 질문
알찬 강의 항상 감사드립니다.
작업 위치1 (vsc상에서 작성하고 git push를 하는 위치) :
[~/Desktop/airflow강의]
작업 위치2 (WSL에서 git pull을 하는 위치) :
[~/airflow]
저는 위와 같은 경로상에서 수업 실습을 진행하고 있으며, '외부 파이썬 함수 수행하기' 강의에서 .env 파일을 다음과 같이 작성했습니다.
WORKSPACE_FOLDER=/Users/hpsm5187/Desktop/airflow강의airflow가 인식하는 작업 폴더는 '작업 위치2'인 걸로 아는데, .env파일 내의 경로는 '작업 위치1'의 경로임에도 이상 없이 작동이 되는 부분이 의아합니다.
.env파일을 git에서 인식하지 않도록 처리했는데 .env에서 정의해준 경로는 어떻게 반영이 되는건가요?
답변 2
0
안녕하세요 hpsm5187님!
질문의 내용을 미루어보아 vscode 내 .env 파일에
WORKSPACE_FOLDER와 PYTHONPATH 변수를 왜 설정하는지 아직 이해를 다 못하신것 같습니다 ^^
우선 vscode 내 .env 파일을 작성하는 것은 WSL 의 airflow를 위해서 작성하는 것이 아니라 로컬 컴퓨터 에서 작업하는 vscode를 위해서 작성할 뿐입니다. 그 이유는 아래 내용을 곰곰히 읽어보셔요.
-------------------------------------------------------------------------------------------
airflow가 기본적(별다른 설정없이 자동) 으로 인식할 수 있는 PYTHONPATH는 아래와 같습니다.
$HOME/plugins
$HOME/dags
$HOME/configs
그렇기 때문에 $HOME/plugins/example.py 를 작성해놓고, DAG에서 이 파일을 참조할 때 아래와 같이 작성할 수 있습니다.
from example import xxxxx 즉 $HOME/plugins 까지는 airflow가 검색할 수 있는 위치이므로 from example 이라고 쓰면
$HOME/plugins/example 파일을 찾을 수 있는 것이죠.
여기까지 설명한 것은 WSL내 설치된 airflow에 대해 설명드린 것입니다.
반면 우리 로컬 컴퓨터에 설치한 VScode의 경우 기본적으로 PYTHONPATH 에
plugins, dags, configs 디렉토리가 추가되어 있지 않습니다.
그래서 vscode에서 DAG 작성시 example파일을 찾지 못한다고 warning이 뜨게 됩니다.
from example import xxxxx물론 이대로 git push 하여 WSL 내에 반영되면 WSL 내 airflow는 문제없이 수행됩니다.
(위에 설명한대로 airflow는 $HOME/plugins/example 파일을 찾을 수 있으므로)
순전히 로컬 컴퓨터에서 작업하는 vscode 상에서 example파일을 찾을 수 있도록 PYTHONPATH를 추가해주는 작업이 .env 파일에 추가해주는 것입니다.
이해가 되셨을까요? 혹시 이해가 안되었거나 원하는 답변이 아니시라면 다시 남겨주세요 ^^
pykrx 회원제 전환으로 인한 실습 불가
0
114
2
수료증 발급
0
84
3
에러 발생 관련 질문드립니다.
0
83
2
vscode 작업화면에 오류가 발생하지 않습니다.
0
69
2
plugins 폴더 생성
0
76
2
WSL에서 git push 가 안되요 ㅠ
0
115
2
chatGPT&Airflow로 블로그 자동 포스팅하기 는 Deprecated 가 필요합니다.
0
67
2
github에 회원가입이 안되는데 원인이 뭔지 모르겠어요 ㅠ
0
738
2
설치중인데 venv를 꼭 써야할까요?
0
126
2
설치 버전 관련 질문입니다.
0
68
1
우분투 버전 다운받아야하는데 어떤걸로 설치해야할까요?
0
62
1
DAG 만들기 중 airflow 패키지 로드 에러
0
106
2
3.0에서도 수업노트가 성립하는지 확인 부탁드립니다!
0
95
3
task_id 사용법이 뭔가 바뀐 것 같습니다.
0
76
3
email operator 오류 관련
0
66
2
plugins 폴더 관련
0
100
2
bash operator 관련 문의입니다
0
78
3
스케쥴러 - DAG 파싱 부하 줄이는 과정 질문
0
79
2
Dags refresh 주기 관련 질문
0
125
2
wsl 관련 질문입니다.!
0
75
2
macOS에서 docker 설치
0
94
2
템플릿 변수에 대한 오류
0
61
2
custom_image 디렉토리 문의드립니다.
0
54
2
ETL 인터뷰 관련 문의
0
103
2





