Centos7.6安装Superset及报错锦集

前言

两年前用过的superset,快忘记了,现在由于客户要求自定义报表,我们提供了两个方案,一是业界牛逼的商业软件tableau(价格昂贵),另一个就是传说中颠覆tableau的开源软件Apache-superset,结合项目实际情况以及方案性引导,客户最终选择后者,作为开发的我就开始了搭建之旅~~~

必要条件

  1. Py3
    在这里插入图片描述
    如图,Py3.6是superset的最低标准,因为Py3不是Centos的默认安装,可以参考:基于Centos7.6安装Python3
  2. 官方文档
    官网

官方步骤

  1. 依赖
$ sudo yum upgrade python-setuptools
$ sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel

附带Debian系列(ubuntu18.04记得搞个python软链接)

$ sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev
  1. 安装并初始化
# pip安装superset
$ pip install superset

# 创建admin账户
$ fabmanager create-admin --app superset

# 初始化数据库
$ superset db upgrade

# 初始化一些demo(可选)
$ superset load_examples

# 初始化系统 角色,权限
$ superset init

# 后台服务 默认端口8088,-p可以指定
$ superset runserver -port 8088 -d

测试

$ curl http://127.0.0.1:8088/health
OK

打印OK,用浏览器打开:http://:8088
Centos7.6安装Superset及报错锦集_第1张图片
使用您在创建管理员帐户时输入的凭据登录
Centos7.6安装Superset及报错锦集_第2张图片
OK,至此安装完成!

报错及解决

  • gcc: error trying to exec ‘cc1plus’: execvp: No such file or directory
# 安装gcc++
$ yum install gcc-c++
  • sasl/sasl.h: No such file or directory
# 安装sasl
$ yum -y install cyrus-sasl cyrus-sasl-devel cyrus-sasl-lib
  • cannot import name _maybe_box_datetimelike from pandas.core.common
# pandas版本过高,换低版本
$ pip list | grep pandas
pandas  0.24.2
$ pip install pandas==0.23.4
  • Can’t determine which FROM clause to join from, there are multiple FROMS which can join to this entity.
# SQLAlchemy版本过高,换低版本
$ pip list | grep -i sqlalchemy
Flask-SQLAlchemy 2.3.2   
SQLAlchemy       1.3.2   
SQLAlchemy-Utils 0.33.11
$ pip install SQLAlchemy==1.2.18
  • no module named _sqlite3
# 编译Py3的时候没有sqlite模块,安装sqlite-devel后重新编译Py3
$ yum install sqlite-devel
$ cd 
$ make
$ make install

当时看到sqlite3这个报错时候,本来以为直接pip install pysqlite3,安装后还是报错,能够import pysqlite3,不能import sqlite3。查资料得知:pysqlite是一个sqlite为python 提供的api接口,是py3一个标准模块,恍然大悟hhhh~

后记

  • 安装步骤很简洁,但实际安装过程挺繁琐,报错连连,记得之前用Py2安装还挺顺畅的,版本是0.22,现在0.28已经不支持Py2,升级导致的库版本差距应该存在。

  • 因为python官方还有半年,也就是2020年就不再支持py3,所以很多依赖py的软件必然要进行升级,突然17年的预测:python24个月内推出历史舞台,当时在玩深度学习,仅仅是因为py2的语法hhhh~

  • 还有就是,后面会让superset入住k8s,其实我尝试过用docker进行部署,但是失败了(依赖问题)迫不得已直接在服务器直接搭建

你可能感兴趣的:(大数据,数据可视化,服务器,python)