环境搭建:
新需求是集成数据可视化功能,要在superset的源码基础上二次开发。花了几天在本地搭建起来,把流程做个记录。
环境: Python3.7.3 + macOS
参考: superset.apache.org/installatio… flask.pocoo.org/docs/1.0/

直接用Pycharm从GitHub下载源码https://github.com/apache/incubator-superset/
建立python的虚拟环境(使用的python3),一下都在虚拟环境中操作
下载安装superset的依赖安装包
在superset/config.py中,修改数据库配置:
# The SQLAlchemy connection string. # SQLALCHEMY_DATABASE_URI = "sqlite:///" + os.path.join(DATA_DIR, "superset.db") SQLALCHEMY_DATABASE_URI='mysql://root:123456@localhost:3306/superset_db?charset=UTF8'
在项目目录下,install一个superset程序。(5、6两步install,只是为了向mysql自动导入用户名密码,并且导入初始化好测试数据。目前没想到其他办法,如果可以手动导入那不要这两步)
pip install -e .
运行install的程序,向mysql导入初始化用户名/密码和测试数据
# Create an admin user (you will be prompted to set a username, first and last name before setting a password) fabmanager create-admin --app superset # Initialize the database superset db upgrade # Load some data to play with superset load_examples
前端的安装:
安装npm 在assets目录创建.npmrc文件 .npmrc 文件的内容是:registry=https://registry.npm.taobao.org sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ fse_binary_host_mirror=https://npm.taobao.org/mirrors/fsevents/ 执行
npm i npm run dev
可以删除之前install的superset版本,防止干扰
直接从Pycharm启动flask,可以开始断点调试了。 或命令行启动:
export FLASK_APP = superset/__init__.py export FLASK_ENV = development export FLASK_DEBUG = 1 flask run