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"}