在AWS Amazon Linux 2安装Apache Superset遇ImportError问题求助
解决Apache Superset 1.5.2安装中Markupsafe依赖错误问题
问题场景
在AWS Amazon Linux 2环境中,使用Python 3.7.10按官方步骤安装Apache Superset 1.5.2时,执行superset db upgrade触发以下错误:
(venv) [root@ip-172-31-40-125 ~]# superset db upgrade Traceback (most recent call last): File "/root/venv/bin/superset", line 33, in <module> sys.exit(load_entry_point('apache-superset==1.5.2', 'console_scripts', 'superset')()) ... File "/root/venv/lib64/python3.7/site-packages/jinja2/filters.py", line 13, in <module> from markupsafe import soft_unicode ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/root/venv/lib64/python3.7/site-packages/markupsafe/__init__.py)
错误原因
Markupsafe 2.1.0及以上版本移除了soft_unicode接口,但Superset 1.5.2依赖的旧版Jinja2仍在调用该接口,导致版本兼容冲突。
解决步骤
- 确保处于激活的虚拟环境中:
. venv/bin/activate
- 卸载当前不兼容的Markupsafe版本:
pip uninstall -y markupsafe
- 安装兼容的Markupsafe 2.0.1版本:
pip install markupsafe==2.0.1
- 重新执行数据库升级命令:
superset db upgrade
后续安装流程
完成数据库升级后,可继续执行官方安装步骤:
# 创建管理员用户 superset fab create-admin # 初始化Superset superset init # 启动Superset服务 superset run -p 8088 --with-threads --reload --debugger
内容的提问来源于stack exchange,提问作者Santhosh Devadurga
相关产品推荐
相关产品推荐

