系统:centos7
python:python3.6
数据库:postgresql10
想要搭建一个superset,superset已不再支持python2,在网上各种查资料参考,终于成功,做一下记录,在我的centos7系统上安装运行没有问题
1、安装python3.6所需要的依赖包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
2、到python官网下载python3.6的包(使用wget命令,centos7需要安装wget命令)
yum install wget -y
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
3、解压下载的包
tar zxvf Python-3.6.0.tgz
4、安装依赖包
yum install gcc gcc-c++ automake autoconf libtool make
5、配置,编译及安装
cd Python-3.6.0
./configure --with-ssl --prefix=/opt/python3
make && make install
6、删除旧的软链接,创建新的软链接到最新的python
rm -rf /usr/bin/python
rm -rf /usr/bin/pip
ln -s /opt/python3/bin/python3.6 /usr/bin/python
ln -s /opt/python3/bin/pip3.6 /usr/bin/pip
7、检查
python -V
pip -V
vi /usr/bin/yum
将第一行"#!/usr/bin/python" 改为 “#!/usr/bin/python2.7”
vi /usr/libexec/urlgrabber-ext-down
将第一行"#!/usr/bin/python" 改为 “#!/usr/bin/python2.7”
1、安装postgresql10源
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2、 安装postgresql-devel
yum install -y postgresql-devel
1、安装依赖包
yum install gcc libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel
2、更新pip
pip install --upgrade pip
3、安装虚拟环境
pip install virtualenv
4、创建虚拟环境目录
virtualenv superset-postgresql
5、启动虚拟环境
. ./superset-postgresql/bin/activate
6、安装postgresql驱动
pip install psycopg2
7、安装superset
pip install superset
8、修改数据源
vi /opt/superset-postgresql/lib/python3.6/site-packages/superset/config.py
找到SQLALCHEMY_DATABASE_URI,进行修改,注释掉sqllite的URI
SQLALCHEMY_DATABASE_URI = ‘postgresql://postgres:[email protected]/ceshi’
9、创建一个管理员用户(在设置密码之前会提示您设置用户名,名字和姓氏)
fabmanager create-admin --app superset
Username [admin]: admin 用户名
User first name [admin]: admin 名字
User last name [user]: admin 姓
Email [[email protected]]: [email protected] 邮箱
Password:
Repeat for confirmation:
注意:出现Was unable to import superset Error: cannot import name ‘_maybe_box_datetimelike’
解决办法:
pip uninstall pandas
pip install pandas==0.23.4
出现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
然后重新运行fabmanager create-admin --app superset
10、初始化数据库
superset db upgrade
11、载入案例数据
superset load_examples
12、初始化角色和权限
superset init
13、启动服务,默认端口号 8088,使用 -p 更改端口号
superset runserver -p 8080
14、使用浏览器就能登录使用了
http://192.168.1.3:8080