1. 程式人生 > >Mac系統Superset 安裝並在Pycharm中編譯

Mac系統Superset 安裝並在Pycharm中編譯

總述

Superset是Airbnb開源出來的大資料分析工具,集成了很多酷炫的視覺化圖表。底層是python flask的,用了appbuilder這個庫。前端主要是jinjia2,React和d3.js。最近在試圖做一些Superset的二次開發,從看原始碼開始學習。這個產品的doc真的是感覺沒啥太大卵用= =只好自己查了各種大神的部落格,終於先把這貨安上了,遂打算記錄總結一下,以免多年以後忘了當時趟過的坑。

安裝環境

  1. 作業系統:
    • MacOS
  2. 必備環境:
    • Python2.7
    • NodeJS>=6
    • npm>=3.9
  3. IDE:
    • IntelliJ pycharm

安裝步驟

  1. 把專案從git上clone下來:
    這裡寫圖片描述
  2. 前端編譯:
    在terminal 輸入如下程式碼

    cd superset/assets //進入到assets資料夾
    npm install //安裝node_modules依賴包
    npm run build

    如果build之後沒有報錯,前端編譯就過了,如果開發除錯的話就是輸入

    npm run dev

    之後可以在pycharm新增指令碼這樣就不用在terminal裡跑啦,具體做法如下:

    • Run –> Edit Configuration中新增npm config
    • package.json 在/superset/assets目錄下
    • command: run
    • scripts: dev
  3. 後端編譯

    1. 安裝python虛擬環境

      pip install virtualenv //安裝虛擬環境
      virtualenv virenv  //指定虛擬環境名稱
      source virenv/bin/activate  //啟用虛擬環境

      作用是可以將superset的執行python環境和其他的python環境隔離開,以後所有的操作都在這個虛擬環境中執行

    2. 在pycharm中指定python interpreter:
      Preference –> Project –> Project interpreter,可以新建也可以直接用上面的命令號建好之後直接引入
    3. 初始化superset:

          #安裝superset
          pip install superset
          # 建立管理員賬號
          fabmanager create-admin --app superset
          #初始化資料庫
          superset db upgrade
          #載入一些例子
          superset load_examples
          #建立初始化角色和許可權
          superset init
  4. 啟動superset:
    superset runserver -d -p 8088
  5. pyCharm中啟動編譯superset:
    run –> Edit Configuration –> incubator superset

    這裡寫圖片描述

  6. 啟動:執行4和5都可以啟動程式,開debug模式是為了前端效果可以實時展示,考慮到執行速度也可以不開。就把runserver的-d去掉

Reference: