windows下superset源码安装(前端向踩坑指南)
最近公司需要基于superset框架进⾏⼀些开发⼯作,所以需要在本地部署superset并且进⾏修改,但是安装总是各种失败,⽤了接近2天的时间,可恶。必须记录下来希望后来⼈可以少踩点坑。
安装开始
所需环境:(python(最新版即可),node环境(前端应该都有,就不赘述了))
1.安装python环境
安装最新版即可,最新版的python⾃带pip打包管理⼯具。这⼀步唯⼀需要注意的点就是在安装的第⼀步要勾选将python添加到path中
下载源码时有⼀个点需要注意,不要下载master分⽀下代码,否则后续的命令需要进⾏修改,此处我选⽤的版本是0.36。直接下载zip⽂件到本地。随便解压到你想要的位置(我解压到了E盘)
3.部署python的虚拟环境(推荐做法)
运⾏cmd或者git bash或者其他的命令⾏⼯具(推荐⽤cmd,git bash在后续的创建⽤户时需要输⼊密码,git bash下没法回车确认(也可能时我不知道怎么操作,抱歉)),执⾏以下命令
// 安装
pip install virtualenv
// 创建⼀个env⽂件夹
virtualenv env
// 到这个⽂件夹执⾏⾥⾯的activate程序
env\Scripts\activate  //(git bash下需要使⽤source env\Scripts\activate)
4.安装项⽬需要的⼀些服务端的包
// 进⼊项⽬⽂件夹
cd incubator-superset-0.36
// 安装对应的包
pip install -
/
/ master分⽀下的这个⽂件不在根⽬录下,在superset/translations下所以后⾯的⽂件路径需要修改,
// 这也是我上⾯说到的为什么不⽤master分⽀(当然master分⽀代码有没有其他的坑我也不知道)
flask下载// 注意有个点 “.”
pip install -e .
// 此时安装完成之后没有superset  需要再次安装
pip install apache-superset
5.配置项⽬的服务端
此时有⼀个需要注意的点:superset命令⽆法直接执⾏,需要进⼊到superset/bin⽂件夹下(项⽬内有superset⽂件夹),此时可以通过python superset执⾏
// 进⼊supersert/bin⽂件夹
cd superset/bin
// 初始化数据库
python superset db upgrade
// 我也不懂是⼲啥的我只是个前端
set FLASK_APP=superset
// 创建系统需要的⽤户和密码 flask好像是个python框架咱也不懂
flask fab create-admin
// 载⼊⼀些数据样例作为初始的展⽰数据
python superset load_examples
// 进⾏初始化,创建⾓⾊以及权限配置
python superset init
到这⼀步 关于服务端的配置基本已经完成了
6.前端配置,前端的所有源代码都在superset-frontend⽬录下,接下来的操作需要在该⽬录下
/
/ 进⼊⽂件夹
cd superset-frontend
// 安装依赖包
npm install
此时你可以执⾏ npm run dev进⾏打包,如果能打包成功  那么恭喜你  你已经成功了。
但是,我没有成功,所以就有了接下来的内容(⼀把⾟酸泪)
修改fig.js⽂件下的loader  下 jsx的loader下的include
此处新增了解析src下的所有⽂件,否则的话打包构建的过程中会报错。报该⽂件没有对应loader进⾏解析的错误。进⼊fig.js 搜索所有的loose属性为false
这个⽐较简单粗暴  直接CTRL + F 修改就⾏了,这个不改为false,打包的时候会有⼀堆提⽰,⽐较烦⼈
执⾏命令:npm install -D babel-loader @babel/core @babel/preset-env webpack
这个是因为报错说没有安装这个包,所以就安装喽
执⾏命令:npm run dev
嗯  到这可算是完事了。淦
7.启动服务端服务
执⾏命令: flask run  ,如果⽤官⽅⽂档上给的会报错,不到⼊⼝(真不知道官⽅到底咋搞的)。
执⾏完成后访问5000端⼝,此时你就可以看到对应的项⽬了
最后总结⼀下我对这个项⽬运⾏的理解:
如果要热更新的话需要同时启动两个服务,⼀个是服务端的服务  ⼀个是前端的打包服务,当你修改前端的代码时,前端的代码会实时的打包更新到superset/static/assets⽂件夹下。⽽服务端根据这个⽂件
夹内的⽂件对前端的页⾯进⾏渲染
可算是说完了,也不知道我罗⾥吧嗦说这么多是不是有点太繁琐了。如果对各位有⼀定帮助的话,希望点赞⽀持⼀下O(∩_∩)O

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。