python issuperset_Superset的各种疑难解答

本文主要解答在Windows上安装和使用Superset遇到的问题,包括sasl安装错误、命令行找不到superset、runserver失败及SQL查询错误。解决方法包括安装whl文件、设置环境变量、以开发者模式启动服务以及修改代码来解决Windows下的不兼容问题。
摘要由CSDN通过智能技术生成

之前安利了大家Superset,后台留言的同学比较多,主要是安装上的各种坑。superset因为是企业级的轻量BI,对window的支持不太好。所以大家疑问比较多,单独增加一篇推文在这里统一解答下。

sasl安装错误

Failed building wheel for sasl    error: Microsoft Visual C++ 10.0 is required. Get it with "Microsoft Windows SDK 7.1":

这个错误是因为sasl的安装需要C++编译,最简单的方法是下载一个whl格式的文件。http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

下载文件,sasl‑0.2.1‑cp34‑cp34m‑win_amd64.whl,cp34对应的是python版本。pip install xxxxx/sasl‑0.2.1‑cp34‑cp34m‑win_amd64.whl

仍旧是pip install的方式,后面对应文件所在的路径,简单方法是将文件拖拽到cmd窗口。

superset不是内部或外部命令

这是命名行没有写入环境变量,在cmd中切换至superset安装目录下的bin文件夹。

输入cd 路径(要带空格的),如下图案例。如果anaconda安装在D盘,首先得输入「D:」切换系统盘,然后再CD。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1

当目录环境变为,类似XXX\Lib\site-packages\superset\bin> 时,输入python superset db upgrade即可正确启动superset初始化,superset命令前都要有python前缀。

以后每次用都要这样,并且要先进入虚拟环境。

superset runserver失败

Superset对windows的支持并不好,正常的runserver是启动不了的,必须以开发者模式启动。

python superset runserver -d

否则会报文件缺失错误。

Failed to start remote query on a worker

这是在建立database后,执行sql query报错。

在编辑database的时候,Expose in SQL Lab和Allow Run Sync都要勾选上,下面其余的不要勾选,保留这两个就好了。

“module" object has no attribute 'SIGALRM'

在勾选完Expose in SQL Lab和Allow Run Sync后,windows用户可能会出现上面的一些错误。

这是windows下依赖包不兼容产生的。Python的signal包只作用于linux和mac,在win是不启作用的,所以这一块在win会产生冲突于是报错。开发团队应该是不小心的。

解决方法就是把相关部分的代码注释掉,这块代码的功能是超时后把query进程杀掉,注释后没大影响。大家记得就好,我测试过了。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1

如上图,把signal所在行都注释,下面再加一个pass就好了,粗糙了点,没太大影响。文件在superset/utils.py下,代码中间部分。

其他一些小问题都是细节的,比如防火墙屏蔽,比如SQL读取的时候数据类型报错,这个可以靠调试解决。

大概问题是这几个,有的话可以继续留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值