superset二次开发安装流程-windows下最详细安装


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM