superset-web

项目初始化

python

python安装
  1. 安装python3.6

superset 基于python3.6版本

  1. 修改profile文件,指向新的python版本

mac系统自带python2.7

a. 终端输入:open ~/.bash_profile

b. 修改文件

// python3.6安装完成后,会自动添加
    # Setting PATH for Python 3.6
    # The original version is saved in .bash_profile.pysave
    PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
    export PATH
    // 修改为如下,指定python版本
    # Setting PATH for Python 3.6
    # The original version is saved in .bash_profile.pysave
    export PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
    alias python="/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6"

c. source ~/.bash_profile 或者重启终端,终端输入:python,查看版本
3. 终端使用python命令有问题时,使用python3

python虚拟环境
  1. 创建python虚拟环境: python3 -m venv venv
  2. 激活虚拟环境: . venv/bin/activate
  3. 推出虚拟环境: deactivate
pip 安装
  1. 下载安装脚本: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
  2. 运行安装脚本

用哪个版本的 Python 运行安装脚本,pip 就被关联到哪个版本

a. 关联python3: sudo python3 get-pip.py
 b. 关联python2: sudo python get-pip.py
  1. 更新: pip3 install --upgrade setuptools pip
项目初始化
  1. 安装superset: pip3 install superset

python-geohash 问题见superset开发windows版本

  1. 安装依赖包: pip3 install -r requirements-dev.txt
  2. 初始化数据库: superset db upgrade
  3. 设置环境变量

a. mac: export FLASK_APP=superset

b. windows: set FLASK_APP=superset
5. 设置初始化超级管理员: flask fab create-admin

邮箱需要唯一

  1. 加载测试数据: superset load_examples
  2. 创建默认的角色和权限: superset init
  3. 启动服务: flask run --host=0.0.0.0 --port=5000

web

web环境
  1. node
  2. react
web服务启动
  1. web核心代码目录:/superset/assets
  2. 安装依赖: npm i
  3. 启动服务: npm run dev-server
  4. 服务配置: webpack.config.js```javascript
    // devserverPort 为web服务端口
    // supersetPort 为指向的superset服务端口,该端口需要与项目服务端口一致,否则会出现重定向错误
const {
mode = 'development',
devserverPort = 9000,
supersetPort = 5000,
measure = false,
analyzeBundle = false,
} = parsedArgs;
web相关目录结构

项目整体是多页面应用,服务端渲染,基于项目路由下的页面,是单页面应用

  1. assets: web核心代码
  2. templates: 页面模板,对应项目路由
  3. views: 项目路由,主要代码: core.py
  4. static: 静态资源,由assets打包生成,flask读取该目录下的静态资源
web主要技术栈
  1. react react-router jquery
  2. redux redux-thunk immutable lodash
  3. webpack
  4. d3 data-ui
  5. bootstrap less classnames
  6. 支持typescript
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐