windows下superset源码安装(前端向&踩坑指南) 您所在的位置:网站首页 win10源码 windows下superset源码安装(前端向&踩坑指南)

windows下superset源码安装(前端向&踩坑指南)

2023-08-05 22:06| 来源: 网络整理| 查看: 265

最近公司需要基于superset框架进行一些开发工作,所以需要在本地部署superset并且进行修改,但是安装总是各种失败,用了接近2天的时间,可恶!!!。必须记录下来希望后来人可以少踩点坑。

安装开始 所需环境:(python(最新版即可),node环境(前端应该都有,就不赘述了))

1.安装python环境

安装最新版即可,最新版的python自带pip打包管理工具。这一步唯一需要注意的点就是在安装的第一步要勾选将python添加到path中

2.下载superset源码(https://github.com/apache/incubator-superset)

下载源码时有一个点需要注意,不要下载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 -r requirements.txt // master分支下的这个文件不在根目录下,在superset/translations下 所以后面的文件路径需要修改, // 这也是我上面说到的为什么不用master分支(当然master分支代码有没有其他的坑我也不知道) // 注意有个点 “.” 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进行打包,如果能打包成功  那么恭喜你  你已经成功了。

但是,我没有成功,所以就有了接下来的内容(一把辛酸泪)

修改webpack.config.js文件下的loader  下 jsx的loader下的include

此处新增了解析src下的所有文件,否则的话打包构建的过程中会报错。报该文件没有对应loader进行解析的错误。

进入babel.config.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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有