在Mac OS中搭建superset开发环境
针对开发者而言,我觉得superset官方文档的布局有点问题,仅用了几句话就概括了环境的搭建,虽然已经够用了,但是如果能针对使用者和开发者分别写一份文档的话就更好了。
一、获取superset源码
superset的源码托管在github上,superset github
找个位置,新建一个文件夹,用来作为项目的根目录,然后cd到根目录。
然后下载superset的源代码,因为使用git clone命令网速会很慢,如果你想用master分支的源码的话,直接通往浏览器下载就好。如图:
下载源码
然后找到superset的压缩文件并解压,得到一个"incubator-superset-master"文件夹,这里就是项目的源码了。
image.png
二、编译应用
打开superset官方文档后,会有很详细的安装和配置步骤,虽然很详细,但是这都是针对使用者的,开发者的环境依赖都写在/incubator-superset-master/setup.py文件中了。
回到正题,那么开发者应该看哪里呢?
官方文档左侧往下拉,找到一项叫"Making your own build"的栏目,对,就看它就够了。
image.png
打开"Making your own build"栏目后,如图:
Making your own build
没错,就是这几条简单的命令,命令中看到yarn,是不是有点熟悉呢?没错,根本不认识它是什么。经过一番百度后,发现yarn是一个厉害的前端框架管理工具,和npm有异曲同工之妙,但是比npm下载速度更快,来源更安全(这是yarn官网说的)。
然后推荐看一下yarn官网,很详细而且还出了中文版文档,传送门:yarn。
看完文档回来再看"Making your own build"中的内容是否有种博的云开见月明的感觉呢?没有也没关系,我再废话一遍。
文档中的$SUPERSET_HOME 是指你的源码的根目录,也就是你刚刚创建的文件夹
image.png
然后进入到/superset/assets文件夹中。
superset文件夹存放了项目几乎所有的源码,包括前端依赖的js,css以及后端代码。
assets中存放了前端依赖的js框架,这里有一个package.json文件,它是yarn下载相关js的目录文件。打开package.json后,找到"devDependence"项,里面都是superset开发前端需要的依赖。
image.png
然后执行yarn或者yarn install命令,用来下载package.json中的依赖项。
完成后,运行yarn run build命令,会把下载好的依赖进行编译,在/incubarot/superset/static/assets文件夹中生成一个dist文件夹,用来存放下载和编译好了的静态js文件。
最后,回到superset根目录,运行python setup.py install命令即可,然后你会看到N多条命令,等待命令完成后,就已经完成安装了。