superset二次開發安裝流程-windows下最詳細安裝


Superset二開安裝流程(windows)

所需文件:

python版本:Python3.7

編譯工具:pycharm(可以不要,但是方便二開)

superset版本:1.3

前端編譯node.js:v10.15.3

 

文件都在百度網盤里包括word文檔,里面附上了操作步驟的截圖

鏈接:https://pan.baidu.com/s/1qZ1mD8x8rEWdc9pcJW0V2w

提取碼:sty3

 

參考文獻:https://www.cnblogs.com/datawalkman/

 

黃色命令為輸入命令    例如         

紅色底色為注意事項    例如

紅色命令為報錯信息    例如

 

安裝python3.7

進入Python官網 https://www.python.org/downloads

 

下滑在紅框中選擇python版本,然后點擊進去

 

 

 

 

 

 

下滑建議選擇Windows x86-64 executable installer下載

 

因為zip的版本下載之后有時會出現很多dll 文件丟失的情況

 

 

下載之后選擇安裝

 

1.一定不要忘了勾選Add Python 3.7 to PATH(把Python的安裝路徑添加到系統環境變量的Path變量中,如果不選那就需要自己配置環境變量了)

 

2.選擇Install Now(默認安裝到C盤下)或者 Customize installation(自定義安裝路徑)

 

3.自定義安裝可根據自己的需要進行勾選,如果不知道該選什么,默認的就可以

 

安裝pycharm

雙擊pycharm-professional-2021.1.exe

 

 

 

 

修改安裝位置后默認下一步

 

勾選 添加到環境變量中

 

 

隨后默認安裝,安裝完成之后打開pycharm

 

選擇Evaluate for free,Evaluate,Continue。

 

 

 

 

新建項目如下圖所示

 

 

 

 

 

 

破解pycharm

依次點擊 file>>>Settings>>>Plugins>>>齒輪按鈕>>>Manage Plugin Repositorise...>>>點擊+號>>>輸入https://plugins.zhile.io

 

 

 

 

然后在搜索框 輸入 IDE Eval Reset,然后install這個插件

 

 

 

安裝好這個插件之后,在help里面會有 Eval Reset這個按鈕就歐克了。

 

 

最后,把ide-eval-resetter-2.1.6.zip壓縮包直接拖入pycharm中,系統會提示你重啟pycharm,重啟一下就好了。后續每次重啟pycharm都會把使用時間刷新為免費30天

 

 

 

安裝node.js

 

雙擊安裝node-v10.15.3-x64.msi文件,選好安裝路徑之后全部默認安裝,稍微要主要的是有沒有自動添加環境變量。

 

 

安裝完成之后打開命令提示符,cmd命令之后   輸入 node -v,看node.js是什么版本的,有版本號就說明環境變量成功了。然后輸入 npm -v,有版本號說明npm也安裝成功了。這個版本的node.js里自帶了npm。

 

至此安裝superset全部的前期准備全部完成。

安裝superset

下載源碼

1、 去GitHub下載superset 1.3版本:https://github.com/apache/superset/tree/1.3

 

 

 

下載到某個目錄,我是下載到D盤下的superset_1.3文件夾內,並重名為superset,即D:\superset_1.3\superset 就是解壓后的文件夾

 

 

 

2、 打開命令管理器,cmd

3、  輸入 d: (然后回車)

4、  輸入 cd D:\superset_1.3\superset (進入解壓后的文件夾內)

 

 

安裝虛擬環境

pip install virtualenv

virtualenv superset_dev

然后

cd superset_dev/Scripts

activate(執行完命令后退出用deactivate)

 

出現(superset_dev)則代表虛擬環境啟動成功,接下來操作都會在虛擬環境中進行

 

隨后輸入python -m pip install --upgrade pip

主要目的是升級pip命令,下面幾個文件的安裝需要高版本的pip命令,否則會報下面錯誤

 

 

 

 

安裝依賴和配置文件

將這個五個文件從百度網盤下載到D:\superset_1.3\superset目錄下。

PS:如果提前下載好了,那就直接復制到此目錄下(如下圖所示)

 

 

 

 

 

隨后依次執行這四個命令,注意,要先  cd D:\superset_1.3\superset目錄下,再輸入下面四個命令,因為這幾個文件在superset目錄下。

pip install Twisted-20.3.0-cp37-cp37m-win_amd64.whl
pip install Scrapy-1.8.0-py2.py3-none-any.whl
pip install python_geohash-0.8.5-cp37-cp37m-win_amd64.whl
pip install sasl-0.2.1-cp37-cp37m-win_amd64.whl

 

說明:WARNING沒事,不報紅不報ERROR就好。

接下來安裝requirements.txt
pip install -r requirements.txt

注意:(我輸入這命令的時候報錯,然后我輸入pip freeze > requirements.txt這個命令, 因為需要在執行這一語句前需要先創建requirements.txt 文件,所以必須先執行pip freeze > requirements.txt創建文件,然后再執行pip install -r requirements.txt)

 

 

安裝base.txt

pip freeze > base.txt

pip install -r base.txt

第一個紅框(pip install -r base.txt,報錯沒有這個文件)

 

 

 

 

然后安裝development.txt

pip freeze > development.txt
pip install -r development.txt

 

 

 

接下來是運行后端

 

Superset安裝方式一(pycharm)


將項目安裝到本地python庫:在pycharm終端中進入項目根目錄,執行下面的命令:

(就是打開項目,選擇superset_1.3下面的superset文件)

 

打開新文件

 

 

找到superset文件

 

 

在終端輸入python setup.py install (要安裝很久)

 

后續所有步驟都可以在終端進行,但是先進入虛擬環境,如上圖,先activate激活環境

 

Superset安裝方式二(命令提示符)

(上面這個如果沒有pycharm,直接cd 到解壓后的文件夾應當也行,如下圖)

安裝python庫

先cd superset-1.3

然后python setup.py install

注意:這里要安裝很久很久(差不多十多分鍾),甚至還會報超時錯誤,看運氣吧。因為服務器在國外,這里我也不知道怎么用國內源。我是晚上七八點安裝的。這段時間速度稍微好點,一次性安裝成功,下午時候安裝了3次都是超時。

 

 

 

 

到這里就是成功了

 

 

但是會看到有個error,因為Flask-WTF版本太高了,需要的版本是Flask-WTF<0.15.0,>=0.14.2

所以接下來重新安裝版本

pip install Flask-WTF==0.14.3

 

我輸入的是

pip install Flask-Babel==2

pip install Flask-JWT-Extended==3.20

pip install Flask-Login==0.4

pip install Flask-OpenID==1.2.5

pip install Flask-Babel==1

 

這里結束之后建議多做一件事,防止下面報錯(主要是我遇見了,順便給個解決辦法)

pip install Pillow(報 No module named PIL時輸入這個)

pip install wtforms==2.3.3(報 No module named wtforms.compat)

 

 

安裝完成之后

安裝 superset 開發者模式

pip install -e .      (也要很久)

 

 

 

 

這樣就是安裝完成

安裝好之后如要修改superset用戶數據庫配置為mysql,執行完上面代碼后,可以在pycharm里進入superset目錄 找config.py變成自己要用得數據庫:
【pycharm162行】SQLALCHEMY_DATABASE_URI = 'mysql://用戶名:用戶密碼@ip地址/superset?charset=UTF8'(?charset=UTF8一定要有,否則會亂碼)

同時,要到你的mysql數據庫里面,新建superset 名字的數據庫,跟上面信息一致。

也可以去文件里找到該文件,以記事本方式修改內容

 

 

 

安裝完成之后

創建用戶

 

 

superset fab create-admin

隨后輸入用戶名,姓,名,郵箱,密碼,確認密碼(郵箱可以選填,直接回車也可以,其他必填)

例如:

Username [admin]: juan

User first name [admin]: wang

User last name [user]: juan

Email [admin@fab.org]:

Password:       【密碼不會顯示】

Repeat for confirmation:        【密碼不會顯示】

 

出現Admin User juan created.就是創建成功了

 

 

 

初始化數據庫

superset db upgrade

 

首先要修改superset\examples\helpers.py 里面找到base_url,改為

BASE_URL = https://github.com/apache-superset/examples-data

再執行下面

superset load-examples

 

 

(反正我是成功一半,沒有完全成功)

啟動
superset run -h 0.0.0.0 -p 8001 --with-threads --reload --debugger
或者
superset run -h 0.0.0.0 -p 8080

 

 

這就是啟動成功,然后去瀏覽器輸入http://自己主機的ip地址:端口號

端口號可以自定義,但是要和superset run -h 0.0.0.0 -p 8001 --with-threads --reload –debugger里的【-p】后面的保持一致。

至此,后端文件搞定,下面開始編譯前端文件,否則瀏覽器一直打轉。

 

前端編譯

進入解壓后源文件的superset-frontend目錄下,

cd superset-frontend

或者 cd D:\superset_1.3\superset\superset-1.3\superset-frontend

 

安裝相關依賴:
npm install

 

到這就install成功了

 

然后需要修改superset\superset-frontend\webpack.config.js,將原來的jsx 的這塊類似語句改為下面的【pycharm里的445行

test: /\.jsx?$/,

// include source code for plugins, but exclude node_modules and test files within them

exclude: [/superset-ui.*\/node_modules\//, /\.test.jsx?$/],

include: [

new RegExp(`${APP_DIR}/src`),

/superset-ui.*\/src/,

new RegExp(`${APP_DIR}/.storybook`),

],

use: [babelLoader],

},

 

修改好之后執行編譯【修改完要記得保存或者關閉文件】

 

 

 


最后執行

npm run dev

 

 

 

 

到這里就成功了。但是不會出現新的命令行,需要重新開一個命令提示符。

 

【注意:新開命令提示符之后要先進入項目中激活環境

例 d:   

  cd D:\superset_1.3\superset\superset_dev\Scripts

activate

 

可以初始化superset

  輸入superset init

 

啟動superset

然后啟動項目 superset run -h 0.0.0.0 -p 8001 --with-threads --reload --debugger

 

 

 

 

 上面弄完后,可以使用pycharm 打開解壓后的文件根目錄,這樣就能通過pycharm 修改調試代碼了,這里說下,為了方便從pycharm上啟動這個程序,在解壓的源文件根目錄下,新建一個start.py文件

文件內容代碼為:

import os

from superset import create_app

 

os.environ["superset_dev"] = os.path.join(os.getcwd(), 'superset_dev/Scripts')

 

if __name__ == '__main__':

    superset_app = create_app()

    superset_app.run(host="0.0.0.0", port="5050", debug=True)

 

這里的port你可以自己隨意修改,注意使用的Python解釋器需要是superset文件里的

 

 

配置數據源

連接數據庫

找到數據庫位置如圖所示

 

 

 

 

進入之后點擊添加數據源

 

 

選擇這種方式連接數據庫

 

注意:數據庫密碼要手寫,連接之后展示的是XXXXXXX

 

例如mysql://mysql:XXXXXXXXXX@192.168.3.120/order?charset=utf8

 

?charset=utf8這個編碼要加上,不然數據會亂碼

 

 

 

 

 

 

 

 

 

添加數據集

點擊添加數據集之后選擇要操作的數據表

 

 

 

 

配置文件修改

修改superset下config.py文件里的一些內容

 

使得superset可以聯動,

"DASHBOARD_NATIVE_FILTERS": True,

"DASHBOARD_CROSS_FILTERS": True,

"DASHBOARD_NATIVE_FILTERS_SET": True,

 

修改用戶權限

PUBLIC_ROLE_LIKE: Optional[str] = "Gamma"

 

CSV文件導出亂碼問題

CSV_EXPORT = {"encoding": "utf-8-sig"}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM