• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    해결됨

외부 파이썬 함수 수행하기 - workspace folder 질문

24.03.05 00:18 작성 조회수 114

0

알찬 강의 항상 감사드립니다.

작업 위치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님의 프로필

hpsm5187

질문자

2024.03.08

아 로컬상의 작업을 위한 설정이었군요! 이해했습니다 감사합니다!

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 파일에 추가해주는 것입니다.

 

이해가 되셨을까요? 혹시 이해가 안되었거나 원하는 답변이 아니시라면 다시 남겨주세요 ^^