Apache Superset 을 온라인 설치 (pip3 install apache-superset)를 할 수 없는 폐쇄적인? 환경에서 off line 설치를 진행했다.
인터넷 접속이 가능한 서버에서 Superset 2.0.1 패키지를 다운로드해 인터넷 비접속 환경에서 설치를 하면서 개발서버의 Flask 버전과 (2.1.0) 다른 상위 버전을 다운로드해 (2.2.3) 설치하면서 오류가 발생했다.
Flask 란?
파이썬으로 작성된 마이크로 웹 프레임워크의 하나로, Werkzeug 툴킷과 Jinja2 템플릿 엔진에 기반을 둔다
오류 내용 (superset 로그 : superset.out **superset.out 은 superset run 시 지정한 로그 파일)
Traceback (most recent call last):
File "/home/superset/.local/lib/python3.9/site-packages/flask/app.py", line 2528, in wsgi_app
response = self.full_dispatch_request()
File "/home/superset/.local/lib/python3.9/site-packages/flask/app.py", line 1825, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/superset/.local/lib/python3.9/site-packages/flask/app.py", line 1669, in handle_user_exception
return self.handle_http_exception(e)
File "/home/superset/.local/lib/python3.9/site-packages/flask/app.py", line 1609, in handle_http_exception
return self.ensure_sync(handler)(e)
File "/home/superset/.local/lib/python3.9/site-packages/superset/views/base.py", line 433, in show_http_exception
return send_file(path, cache_timeout=0), ex.code
TypeError: send_file() got an unexpected keyword argument 'cache_timeout'
2023-08-09 17:09:24,519:INFO:werkzeug:60.30.131.200 - - [09/Aug/2023 17:09:24] "GET /favicon.ico HTTP/1.1" 500 -
오류 관련 참조 링크
*Flask 2.0부터 일부 argument 가 변경돼서 해당 오류가 발생되었다고 설명한다. max_age -> cache_timeout
https://github.com/pallets/flask/pull/4667
개발서버 테스트 당시 Superset 2.0.1 버전에서 정상 동작했던 Flask 2.1.0 버전을 재설치 하면서 해당 오류는 해결됐다.
Flask 버전 참조 : Version 2.1.0 Released 2022-03-28
참조) 파이썬 패키지(Flask) 오프라인 설치 명령어
python3 -m pip install --no-index --find-links=[패키지 저장 경로] [설치할 패키지]==버전
ex) python3 -m pip install --no-index --find-links=/home/superset/superset_pip Flask==2.1.0
감사합니다.