superset windows开发环境搭建

SuperSet Windows开发环境搭建

写在前面的话

superset官方安装配置指南:
https://superset.incubator.apache.org/installation.html

环境安装

  1. 安装Python环境:SuperSet官方要求Python版本必须在3.6及其上,我本次安装版本为3.6.6;
    下载地址为:https://www.python.org/ftp/python/3.6.6/python-3.6.6-amd64.exe

  2. 安装PyCharm编译器:直接去官网下载;
    下载地址:https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=windows

  3. 安装C++ buildTools:编译环境需要;
    下载地址:http://go.microsoft.com/fwlink/?LinkId=691126

  4. 安装nodejs:由于SuperSet的前端会用到nodejs,所以需要安装nodejs的windows版本;
    下载地址:https://nodejs.org/dist/v12.4.0/node-v12.4.0-x64.msi

后端代码编译

  1. 新建工作目录,例如:D:\workspace\pythonwork,将SuperSet项目clone到本地;

    1
    git clone https://github.com/apache/incubator-superset.git
  2. 执行命令,安装Python虚拟环境控件;
    使用pip安装软件时,会比较慢,可以设置pip为国镜像:
    清华镜像:https://pypi.tuna.tsinghua.edu.cn/simple/
    阿里云镜像:https://mirrors.aliyun.com/pypi/simple/
    豆瓣镜像:http://pypi.douban.com/simple/
    中科大镜像:https://pypi.mirrors.ustc.edu.cn/simple/

    以下直接设置pip清华镜像为全局配置:

    1
    2
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    pip install virtualenv
  3. 设置虚拟环境,并激活进入虚拟环境;

    1
    2
    3
    cd incubator-superset 
    virtualenv env
    .\env\Scripts\activate
  4. 安装依赖

    1
    2
    pip install -r requirements.txt
    pip install -r requirements-dev.txt
  5. 制作软链接;
    由于clone下来的源代码superset\static\assets这个软链接可以在linux或Mac上能正常运行,但是在windows上不能正常运行,所以需要制作windows下的软链接;
    删除:D:\workspace\pythonwork\incubator-superset\superset\static\assets文件
    在doc命令行中输入以下命令:

    1
    mklink /J "D:\workspace\pythonwork\incubator-superset\superset\static\assets" "D:\workspace\pythonwork\incubator-superset\superset\assets"
  6. 安装SuperSet开发者模式;

    1
    pip install -e .
  7. 初始化SuperSet相关信息,需要进入到superset/bin目录下进行:

    • 创建管理员账号,设置账号、密码、邮箱;
    • 初始化数据库;
    • 创建角色权限;
    • 加载示例数据;
      1
      2
      3
      4
      fabmanager create-admin --app superset
      python superset db upgrade
      python superset init
      python superset load_examples
      注:默认使用sqlite数据库,可以修改配置文件superset/config.py设置为mysql数据库;
      1
      SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@localhost/superset'
  8. 启动SuperSet后端服务

    • 打开PyCharm编译器,导入SuperSet项目
    • 在incubator-superset/superset目录下新建run.py文件,右键run/debug run启动即可,等到前端编译完成之后,访问 http://localhost:8088即可到登录页面
      1
      2
      from superset import app 
      app.run(debug=True, host='0.0.0.0', port=8088)

前端代码编译

以下操作需要进入:superset/assets目录下;

  1. 安装编译需要的模块
    1
    npm install -d
    注:npm 是随同 nodejs 一起安装的包管理工具,我们经常使用它来下载第三方包到本地。但在使用 npm 过程很多人估计都知道,在国内下载第三方包的速度极其之慢。可以使用淘宝 npm 镜像定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm;
    1
    npm install -g cnpm --registry=https://registry.npm.taobao.org
    这样就可以使用 cnpm 命令来安装模块了
    1
    cnpm install [name]
  2. 修改package.json的第17行(这里是设置变量,但是此命令在linux和Mac是可以通过的,windows不能通过),在NODE_ENV前面添加set,即
    1
    "build": "set NODE_ENV=production webpack --mode=production --colors --progress",
  3. 编译前端文件,并进入前端开发者模式;
    1
    2
    npm run build 
    npm run dev
    注:运行完npm run dev,在命令窗口会停止到,不要误以为是执行不下去,保持窗口开启状态即可,一有文件变动时,它会重新编译;
<-------------The End------------->
坚持原创分享,您的支持就是我最大的动力!