superset二次开发的环境搭建

6,107 阅读1分钟

环境搭建:

新需求是集成数据可视化功能,要在superset的源码基础上二次开发。花了几天在本地搭建起来,把流程做个记录。

环境: Python3.7.3 + macOS

参考: superset.apache.org/installatio… flask.pocoo.org/docs/1.0/

  1. 直接用Pycharm从GitHub下载源码https://github.com/apache/incubator-superset/

  2. 建立python的虚拟环境(使用的python3),一下都在虚拟环境中操作

  3. 下载安装superset的依赖安装包

  4. 在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'
    
  5. 在项目目录下,install一个superset程序。(5、6两步install,只是为了向mysql自动导入用户名密码,并且导入初始化好测试数据。目前没想到其他办法,如果可以手动导入那不要这两步)

    pip install -e .
    
  6. 运行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
    
  7. 前端的安装:

    • 安装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
    
  8. 可以删除之前install的superset版本,防止干扰

  9. 直接从Pycharm启动flask,可以开始断点调试了。 或命令行启动:

    export FLASK_APP = superset/__init__.py
    export FLASK_ENV = development
    export FLASK_DEBUG = 1
    flask run