在Mac OS中搭建superset開發環境

weixin_33728268發表於2018-03-21

針對開發者而言,我覺得superset官方文件的佈局有點問題,僅用了幾句話就概括了環境的搭建,雖然已經夠用了,但是如果能針對使用者和開發者分別寫一份文件的話就更好了。

一、獲取superset原始碼

superset的原始碼託管在github上,superset github
找個位置,新建一個資料夾,用來作為專案的根目錄,然後cd到根目錄。

2779961-6b2288f1f0830932.png
建立專案根目錄

然後下載superset的原始碼,因為使用git clone命令網速會很慢,如果你想用master分支的原始碼的話,直接通往瀏覽器下載就好。如圖:


2779961-7e5938b27c3982af.png
下載原始碼

然後找到superset的壓縮檔案並解壓,得到一個"incubator-superset-master"資料夾,這裡就是專案的原始碼了。


2779961-8bdc5b9f69fe6f37.png
image.png

二、編譯應用

開啟superset官方文件後,會有很詳細的安裝和配置步驟,雖然很詳細,但是這都是針對使用者的,開發者的環境依賴都寫在/incubator-superset-master/setup.py檔案中了。

2779961-92c34c9c036ce439.png
setup.py

回到正題,那麼開發者應該看哪裡呢?
官方文件左側往下拉,找到一項叫"Making your own build"的欄目,對,就看它就夠了。


2779961-79870c8456effbe2.png
image.png

開啟"Making your own build"欄目後,如圖:


2779961-6512f158a7e6bfe2.png
Making your own build

沒錯,就是這幾條簡單的命令,命令中看到yarn,是不是有點熟悉呢?沒錯,根本不認識它是什麼。經過一番百度後,發現yarn是一個厲害的前端框架管理工具,和npm有異曲同工之妙,但是比npm下載速度更快,來源更安全(這是yarn官網說的)。
然後推薦看一下yarn官網,很詳細而且還出了中文版文件,傳送門:yarn

看完文件回來再看"Making your own build"中的內容是否有種博的雲開見月明的感覺呢?沒有也沒關係,我再廢話一遍。

文件中的$SUPERSET_HOME 是指你的原始碼的根目錄,也就是你剛剛建立的資料夾


2779961-0ecaf5a784686cb3.png
image.png

然後進入到/superset/assets資料夾中。
superset資料夾存放了專案幾乎所有的原始碼,包括前端依賴的js,css以及後端程式碼。
assets中存放了前端依賴的js框架,這裡有一個package.json檔案,它是yarn下載相關js的目錄檔案。開啟package.json後,找到"devDependence"項,裡面都是superset開發前端需要的依賴。


2779961-4af92466c77f2d78.png
image.png

然後執行yarn或者yarn install命令,用來下載package.json中的依賴項。

完成後,執行yarn run build命令,會把下載好的依賴進行編譯,在/incubarot/superset/static/assets資料夾中生成一個dist資料夾,用來存放下載和編譯好了的靜態js檔案。

最後,回到superset根目錄,執行python setup.py install命令即可,然後你會看到N多條命令,等待命令完成後,就已經完成安裝了。

相關文章