최대 1 분 소요

 안녕하세요 마개입니다. Apache Airflow를 이용하여 파이프라인을 구축하고 스케줄링을 진행하고 있습니다. 로컬 환경에서 venv를 이용하여 가상환경을 구축하고 Airflow를 설치하였습니다. 설치 후 이를 실행할 때 발생한 에러를 확인해봅니다.


image


Docker를 이용하지 않고 직접 설치를 하고 이용할 때에는 Airflow를 실행하는 명령어를 날려줘야 합니다.
(Webserver, Scheduler, Worker 등등 모두 다 따로)

그럴 때 아래와 같은 에러가 발생하였습니다.

1
ModuleNotFoundError: No module named 'sqlalchemy.ext.declarative.clsregistry'

image

에러 메시지를 보면 sqlalchemy 모듈을 못 찾는다고 나와있습니다. 하지만 pip list를 이용해서 확인해보면 이미 sqlalchemy가 설치되어 있는 모습을 볼 수 있습니다.

원인을 찾아보니 Airflow의 버전에 비해 sqlalchemy 버전이 높았던 것입니다.

기존에 설치되어 있던 버전들을 확인하니 다음과 같습니다.

  • apache-airflow : 1.10.13
  • SQLAlchemy : 1.4.2

위와 같은데 SQLAlchemy 버전을 1.3.15 버전으로 다운그레이드하였더니 위와 같은 문제가 해결이 되었습니다.