SuperSet Windows开发环境搭建
写在前面的话
superset官方安装配置指南:
https://superset.incubator.apache.org/installation.html
环境安装
安装Python环境:SuperSet官方要求Python版本必须在3.6及其上,我本次安装版本为3.6.6;
下载地址为:https://www.python.org/ftp/python/3.6.6/python-3.6.6-amd64.exe安装PyCharm编译器:直接去官网下载;
下载地址:https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=windows安装C++ buildTools:编译环境需要;
下载地址:http://go.microsoft.com/fwlink/?LinkId=691126安装nodejs:由于SuperSet的前端会用到nodejs,所以需要安装nodejs的windows版本;
下载地址:https://nodejs.org/dist/v12.4.0/node-v12.4.0-x64.msi
后端代码编译
新建工作目录,例如:D:\workspace\pythonwork,将SuperSet项目clone到本地;
1
git clone https://github.com/apache/incubator-superset.git
执行命令,安装Python虚拟环境控件;
使用pip安装软件时,会比较慢,可以设置pip为国镜像:
清华镜像:https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云镜像:https://mirrors.aliyun.com/pypi/simple/
豆瓣镜像:http://pypi.douban.com/simple/
中科大镜像:https://pypi.mirrors.ustc.edu.cn/simple/以下直接设置pip清华镜像为全局配置:
1
2pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install virtualenv设置虚拟环境,并激活进入虚拟环境;
1
2
3cd incubator-superset
virtualenv env
.\env\Scripts\activate安装依赖
1
2pip install -r requirements.txt
pip install -r requirements-dev.txt制作软链接;
由于clone下来的源代码superset\static\assets这个软链接可以在linux或Mac上能正常运行,但是在windows上不能正常运行,所以需要制作windows下的软链接;
删除:D:\workspace\pythonwork\incubator-superset\superset\static\assets文件
在doc命令行中输入以下命令:1
mklink /J "D:\workspace\pythonwork\incubator-superset\superset\static\assets" "D:\workspace\pythonwork\incubator-superset\superset\assets"
安装SuperSet开发者模式;
1
pip install -e .
初始化SuperSet相关信息,需要进入到superset/bin目录下进行:
- 创建管理员账号,设置账号、密码、邮箱;
- 初始化数据库;
- 创建角色权限;
- 加载示例数据;注:默认使用sqlite数据库,可以修改配置文件superset/config.py设置为mysql数据库;
1
2
3
4fabmanager create-admin --app superset
python superset db upgrade
python superset init
python superset load_examples1
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@localhost/superset'
启动SuperSet后端服务
- 打开PyCharm编译器,导入SuperSet项目
- 在incubator-superset/superset目录下新建run.py文件,右键run/debug run启动即可,等到前端编译完成之后,访问 http://localhost:8088即可到登录页面
1
2from superset import app
app.run(debug=True, host='0.0.0.0', port=8088)
前端代码编译
以下操作需要进入:superset/assets目录下;
- 安装编译需要的模块注:npm 是随同 nodejs 一起安装的包管理工具,我们经常使用它来下载第三方包到本地。但在使用 npm 过程很多人估计都知道,在国内下载第三方包的速度极其之慢。可以使用淘宝 npm 镜像定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm;
1
npm install -d
这样就可以使用 cnpm 命令来安装模块了1
npm install -g cnpm --registry=https://registry.npm.taobao.org
1
cnpm install [name]
- 修改package.json的第17行(这里是设置变量,但是此命令在linux和Mac是可以通过的,windows不能通过),在NODE_ENV前面添加set,即
1
"build": "set NODE_ENV=production webpack --mode=production --colors --progress",
- 编译前端文件,并进入前端开发者模式;注:运行完npm run dev,在命令窗口会停止到,不要误以为是执行不下去,保持窗口开启状态即可,一有文件变动时,它会重新编译;
1
2npm run build
npm run dev