superset开发环境配置

因为superset在python2下对中文支持差,所以,我们的配置中使用python3.6。另外,superset自带的sqllite数据库不可能满足生产的需要,所以我们将superset的系统信息存储在mysql中。为了开发python代码的需要,我们将superset开发环境配置在pycharm中。

(1)安装python3
如果你打算python2和python3共存,请参考https://www.cnblogs.com/JahanGu/p/7452527.html

(2)安装virtualenv
因为是开发环境,所以我们采取python虚拟环境。

pip install virtualenv
mkdir env
virtualenv -p python3 env//系统中有多个python,可以手动置顶python版本

(3)安装pycharm CE
(4)打开pycharmCE,选择从version control创建项目。如果你不打算对github进行贡献,直接从superset master拉代码即可。否则,你需要将superset的master代码fork到自己在github上的仓库,再从自己的仓库拉下来。

(5)配置工程的解释器。在解释器页面新建虚拟环境,选择虚拟环境使用我们刚刚安装的python3

(6)启动的虚拟环境

source env/bin/activate

(7)使用命令行,依次执行以下命令

# install for development
pip install -e .

# Create an admin user
fabmanager create-admin --app superset

# Initialize the database
superset db upgrade

# Create default roles and permissions
superset init

# Load some data to play with
superset load_examples

# start a dev web server
superset runserver -d

(8)然后,可以在网页欣赏到我们刚刚部署的superset,然后会发现会少了很多页面组件,导致页面显示不正常。这时,你需要安装配置node(npm),建议下载源代码安装

(9)进入superset/assets/目录,执行下列命令,将需要的前端组件下载到本地

# from the root of the repository, move to where our JS package.json lives
cd superset/assets/
# install yarn, a replacement for `npm install` that is faster and more deterministic
npm install -g yarn
# run yarn to fetch all the dependencies
yarn

npm run sync-backend

(10)运行完上述指令后,你的superset就可以正常工作了。但是,使用的数据库是自带的sqllite,用于保存系统的配置信息。对于生产应用,我们希望将系统设置保存到mysql中。
在config.py中,我们找到如下配置项目

# The SQLAlchemy connection string.
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(DATA_DIR, 'superset.db')
# SQLALCHEMY_DATABASE_URI = 'mysql://myapp@localhost/myapp'
# SQLALCHEMY_DATABASE_URI = 'postgresql://root:password@localhost/myapp'

显然,我们也许把sqllite配置注释掉而使用mysql似乎就能解决问题,然而不行,会报没有mysql-python库。mysql-python库目前还不支持python3。所以,我们使用PyMySQL

pip install PyMySQL

最终,我们会将配置改为

# The SQLAlchemy connection string.
# SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(DATA_DIR, 'superset.db')
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://myapp@localhost/myapp'
# SQLALCHEMY_DATABASE_URI = 'postgresql://root:password@localhost/myapp'

(11)最后运行superset runserver -d,完成配置过程

注意事项:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值