【教程】Windows系统安装Superset

部署运行你感兴趣的模型镜像

参考资料:https://zhuanlan.zhihu.com/p/510061681

一、安装

Windows10系统
Anaconda环境
Superset安装
Superset官网:https://superset.apache.org/

Anaconda下载
官方下载地址:
https://www.anaconda.com/products/individual#Downloads
清华大学镜像下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D

我存了部分在网盘,安装包下载地址:
链接: https://pan.baidu.com/s/1EcaQfbZcni9UjnUMUzLXMg
提取码: a7zv

二、安装及设置Anaconda3

2.1 设置环境变量

在Path中增加

C:\Python\Anaconda3
C:\Python\Anaconda\Scripts
C:\Python\Anaconda\Library\bin
C:\Python\Anaconda\Library\mingw-w64\bin

2.2 设置镜像地址(加快安装时资源下载速度)

conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/fastai/
# 搜索时显示通道地址
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

2.3 默认不加载Anaconda环境

conda config --set auto_activate_base false

三、Superset安装步骤

3.1 激活虚拟环境

# 创建虚拟环境,这里选择的是3.9版本
conda create -n python_39 python=3.9
# 激活虚拟环境
conda activate python_39
# 查看虚拟环境列表

3.2 安装 sasl 和 python_geohash等插件

这两个插件的安装是为了避免一些报错问题(可能还是会有报错),注意是要安装在激活的虚拟环境之中。
离线安装(需要下载插件所有的关联,然后一个个安装)

pip install .\python_geohash-0.8.5-cp39-cp39-win_amd64.whl
pip install .\six-1.16.0-py2.py3-none-any.whl
pip install .\sasl-0.3.1-cp39-cp39-win_amd64.whl
pip install .\pytz-2022.6-py2.py3-none-any.whl
pip install .\numpy-1.23.5-cp39-cp39-win_amd64.whl
pip install .\python_dateutil-2.8.2-py2.py3-none-any.whl
pip install .\pandas-1.4.3-cp39-cp39-win_amd64.whl
pip install .\Pillow-9.3.0-cp39-cp39-win_amd64.whl

3.3 安装Superset

pip install apache-superset=2.0.0   或者
Pip install .\apache-superset-2.0.0.tar.gz

指定版本号可暂时避免因版本更新而导致的库冲突问题(2022/10/27)

3.4 降级WTForms库(2022/10/27 更新)

pip uninstall WTForms
pip install WTForms==2.3.3

有部分读者反映遇到No module named 'wtforms.ext’错误,初步原因考虑为superset安装时的requirement.txt没有指定wtforms的版本而安装了最新的版本,导致superset无法兼容
应该是Superset 2.0新增的依赖库

3.5 降级markupsafe库

pip uninstall markupsafe
pip install markupsafe==2.0.1

Superset会导入makrupsafe库的的soft_unicode类,但新版的makrupsafe已弃用该类,因而会导致无法正常启动Superset,需要降级至2.0.1

3.6 设置FLASK_APP(重要)

set FLASK_APP=superset
Superset的运行需要预配置FLASK_APP

3.7 初始化数据库

# 定位目录至:\envs\python_39\Lib\site-packages\superset后执行
# 初始化数据库
superset db upgrade
# 创建管理员账号
superset fab create-admin
# 载入案例数据
superset load_examples
# 初始化角色和权限
superset init

username、firstname、lastname和email都有默认值,可直接回车跳过
需要输入两次密码
上述步骤如有中断,需重新进入虚拟环境(如有),重新设置FLASK_APP

3.8 运行

# 基础启动(本地测试)
superset run -p 10000
# 进阶启动(开放端口,局域网内可访问)
superset run -h 0.0.0.0 -p 10000 --with-threads --reload --debugger

在本地使用的情况下,两种启动方式基本是等效的,不过建议使用进阶启动方式

3.9 快捷启动方式

在桌面创建 xxx.bat文件,里面写入以下内容:

call cd D:\ProgramData\Anaconda3\envs\superset\Lib\site-packages\superset
call conda activate superset
call set FLASK_APP=superset
call superset run -h 0.0.0.0 -p 10000 --with-threads --reload --debugger
Pause

以上内容,若是在cmd中打开,就不需要call和pause,但是需要一条一条输入,麻烦。

3.10 汉化

打开虚拟环境下Lib/site-packages/superset/config.py

# 源代码是 "en"
BABEL_DEFAULT_LOCALE= "zh"

3.11 修改MySQL数据源

打开虚拟环境下Lib/site-packages/superset/config.py

SQLALCHEMY_DATABASE_URI = 'mysql://superset:superset@192.168.91.65:3306/superset'

3.12 安装SQLServer依赖(如需使用)

pip install pymssql
pip install pyodbc

3.13 安装Oracle依赖(如需使用)

pip install cx_Oracle

3.14 交叉过滤

#交叉过滤
"DASHBOARD_NATIVE_FILTERS": True,#开启过滤级联
"DASHBOARD_CROSS_FILTERS": True,#开启交叉过滤器
"DASHBOARD_NATIVE_FILTERS_SET": True,#过滤集

四、其他依赖包

遇到依赖包问题直接先把下面相对应的安装

pip install mysqlclient
pip install flask-appbuilder
pip install WTForms-JSON
pip install Flask-Compress
pip install flask-migrate
pip install celery
pip install flask-talisman
pip install talisman
pip install sqlparse
pip install flask-caching
pip install bleach
pip install markdown
pip install numpy
pip install pandas
pip install parsedatetime

五、异常处理(基于python 3.9)

5.1 No module named ‘werkzeug.wrappers.etag’

执行superset db upgrade报错:ModuleNotFoundError: No module named ‘werkzeug.wrappers.etag’

pip uninstall Flask 
pip uninstall Werkzeug 

pip install Flask==2.0.2
pip install Werkzeug==2.0.2

参考资料:https://www.cnblogs.com/leo-wong/articles/16578636.html

六、匿名用户角色设置问题

默认外部访问用户是public,授予public gamma权限,可使匿名用户能够查看superset网站(如不让匿名用户查看,则不处理public角色授权内容),修改config.py配置
PUBLIC_ROLE_LIKE: Optional[str] = “Gamma”
旧版本是PUBLIC_ROLE_LIKE_GAMMA=True
在配置文件修改完配置还需要执行命令:superset init
删除Public角色所有菜单权限(Menu开头的权限)

删除分享权限:
在这里插入图片描述

删除编辑图表及看板权限:
在这里插入图片描述

删除嵌入权限:
在这里插入图片描述
删除菜单:

在这里插入图片描述

增加数据库和数据集权限:

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值