使用Dokku部署Superset后无法登录,提示缺少google模块
Dokku部署Superset后无法登录问题
问题现象
使用Dokku部署Superset并创建管理员用户后,无法正常登录系统。
登录日志
2023-10-06T19:15:35.971486267Z app[web.1]: 2023-10-06 19:15:35,971:INFO:werkzeug:127.0.0.1 - - [06/Oct/2023 19:15:35] "GET /health HTTP/1.1" 200 - 2023-10-06T19:15:41.132003330Z app[web.1]: 2023-10-06 19:15:41,131:INFO:werkzeug:192.168.122.1 - - [06/Oct/2023 19:15:41] "POST /login/ HTTP/1.1" 302 - 2023-10-06T19:15:41.172697608Z app[web.1]: 2023-10-06 19:15:41,172:INFO:werkzeug:192.168.122.1 - - [06/Oct/2023 19:15:41] "GET / HTTP/1.1" 302 - 2023-10-06T19:15:41.179765862Z app[web.1]: 2023-10-06 19:15:41,179:WARNING:root:Class 'werkzeug.local.LocalProxy' is not mapped 2023-10-06T19:15:41.199842954Z app[web.1]: 2023-10-06 19:15:41,199:INFO:werkzeug:192.168.122.1 - - [06/Oct/2023 19:15:41] "GET /superset/welcome/ HTTP/1.1" 302 - 2023-10-06T19:15:41.228463214Z app[web.1]: Unable to load SQLAlchemy dialect <class 'superset.extensions.metadb.SupersetAPSWDialect'>: No module named 'google' 2023-10-06T19:15:41.228493450Z app[web.1]: 2023-10-06 19:15:41,228:WARNING:superset.db_engine_specs:Unable to load SQLAlchemy dialect <class 'superset.extensions.metadb.SupersetAPSWDialect'>: No module named 'google'
已尝试的解决方法
- 在Dockerfile中执行
pip install google,但问题未解决
解决方案
日志核心错误是加载SupersetAPSWDialect时找不到google模块,这里的google并非单独的google包,而是Superset依赖链中与BigQuery相关的子模块,尝试以下步骤:
安装正确的依赖包:在Dockerfile中替换原有命令,改为安装BigQuery相关完整依赖:
pip install superset[bigquery]或单独安装核心依赖:
pip install google-auth google-cloud-bigquery google-cloud-core检查版本兼容性:确保Superset版本与依赖包版本匹配,建议使用官方提供的
requirements.txt安装依赖,避免手动安装单个包导致版本冲突。验证部署流程:通过
dokku run <app-name> pip list命令查看容器内已安装的包,确认相关google依赖已成功安装。临时应急方案(不推荐):若无需BigQuery支持,可修改
superset_config.py禁用该dialect:PREVENT_UNSAFE_DB_CONNECTIONS = True DB_ENGINE_SPECS = {k: v for k, v in DB_ENGINE_SPECS.items() if k != 'bigquery'}注意:此方法可能影响其他功能,仅作临时使用。
内容的提问来源于stack exchange,提问作者Leandro Ramos
相关产品推荐
相关产品推荐

