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 # 载入案例数据
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://