Linux下Superset(开源的数据探查与可视化平台) 环境搭建及其遇到的问题

1、安装anaconda,可参考

https://blog.csdn.net/mysteryflower/article/details/93064195

2、使用anaconda搭建虚拟环境

1)conda env list / conda info -e 查看当前存在哪些虚拟环境

2)使用conda create -n envname python=X.X(2.7、3.6等)

      anaconda命令创建python版本为X.X、名称为envname的虚拟环境。

3)激活环境。一旦你激活你的虚拟环境你所做的一切都只限于当前虚拟环境。
Linux:  source activate your_env_name(虚拟环境名称)  
Windows: activate your_env_name(虚拟环境名称)

注:关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)。使用如下命令即可。 
Linux: source deactivate  
Windows: deactivate ; 
删除虚拟环境。使用命令conda remove -n your_env_name(虚拟环境名称) --all,即可删除。

下图中(env)表示已进入虚拟环境env,可查看当前虚拟环境下的python和pip的版本

3、安装mysqlclient
# 将 pip 更新为最新版本
pip install --upgrade setuptools pip 
# 安装mysqlclient包,以连接 mySQL数据库
pip install mysqlclient


安装mysqlclient,遇到问题
ERROR: Complete output from command python setup.py egg_info:
ERROR: /bin/sh: mysql_config: command not found

解决方案:退出当前虚拟环境 source deactivate env
安装下列依赖后重新安装mysqlclient即可解决问题
yum install mysql-devel gcc gcc-devel python-devel

重新进入虚拟环境,再安装mysqlclient成功

4、安装superset

pip install superset

出现问题:gcc不可用

在此过程中有可能会发生下面的错误而导致执行失败。
报错:gcc: error trying to exec 'cc1plus': execvp: No such file or directory
解决办法:yum install gcc-c++


报错:sasl/saslwrapper.h:22:23: fatal error: sasl/sasl.h: No such file or directory
解决办法:yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64

5、重新安装superset成功。

6、1)fabmanager create-admin --app superset # 创建管理员账号

出现问题:Was unable to import superset Error: cannot import name '_maybe_box_datetimelike'
创建失败,原因:这是 pandas 库版本太高导致的,需要安装低版本的 pandas 库。
pip list | grep pandas # 查看当前 pandas 版本
pip install pandas==0.23.4 # 安装低版本 pandas
继续创建管理员账号,成功

2)superset db upgrade # 初始化数据库

出现错误:sqlalchemy.exc.InvalidRequestError: Can't determine which FROM clause to join from, there are multiple FROMS which can join to this entity. Try adding an explicit ON clause to help resolve the ambiguity.
解决方案:pip uninstall sqlalchemy
pip install sqlalchemy==1.2.18
重新superset db upgrade,成功


3)superset load_examples # 载入案例数据


4)superset init # 初始化角色和权限


5)superset runserver # 启动服务,端口号 8088,使用 -p 更改端口号

6)本机打开浏览器输入:http://localhost:8088

yum list | grep firewall
yum install firewalld
systemctl start firewalld.service
ps -ef | grep firewalld

关闭防火墙,在主机浏览器输入:虚拟机ip:8088

输入账号和密码进行登录

7、添加数据库依赖

MySQL    pip install mysqlclient    mysql://
Postgres    pip install psycopg2    postgresql+psycopg2://
Presto    pip install pyhive    presto://
Oracle    pip install cx_Oracle    oracle://
Redshift    pip install sqlalchemy-redshift    redshift+psycopg2://
MSSQL    pip install pymssql    mssql://
Impala    pip install impyla    impala://
SparkSQL    pip install pyhive    jdbc+hive://

猜你喜欢

转载自blog.csdn.net/mysteryflower/article/details/93079274