Superset二次开发Windows10本地调试环境搭建

4 篇文章 0 订阅
1 篇文章 0 订阅

1.准备工作

  1. 本地安装3.6以上python
  2. 采用Anaconda 安装虚拟环境
conda create -n yourenvname 
activate yourenvname
  1. 安装mysql,安装mysqlclient,安装nodejs

2.git下载代码,配置安装

2.1 PyCharm 配置

git 地址:https://github.com/apache/incubator-superset
git 下载代码 假设下载位置在 D:\incubator-superset
PyCharm File–>Settings–> Project: incubator-superset–> Project Interpreter
设置interpreter 为 conda 创建的虚拟环境

2.2 修改元数据库为MySQL

因为项目需要,需要把superset 存在sqlite中的数据存储到MySQL,所以在开始安装前,先修改数据库配置信息。
/incubator-superset/superset/config.py
修改SQLAlchemy 配置string

# The SQLAlchemy connection string.
# SQLALCHEMY_DATABASE_URI = "sqlite:///" + os.path.join(DATA_DIR, "superset.db")
SQLALCHEMY_DATABASE_URI = 'mysql://root:password@localhost:3306/superset?charset=UTF8'
# SQLALCHEMY_DATABASE_URI = 'postgresql://root:password@localhost/myapp'

2.3 Windows 下更新软连接

删除/incubator-superset/superset/static/assets下的软链接文件
修改软连接

mklink /J "D:\incubator-superset\superset\static\assets" "D:\incubator-superset\superset\assets"

2.4 执行安装

在/incubator-superset 文件夹下,运行

pip install -e .

错误记录1:

Command “python setup.py egg_info” failed with error code 1 in D:\incubator-superset\

解决方式:
修改 D:\incubator-superset\setup.py 文件中

# VERSION_INFO_FILE = os.path.join(
#     BASE_DIR, "superset", "static", "assets", "version_info.json"
# )

VERSION_INFO_FILE = os.path.join(
    BASE_DIR, "superset", "assets", "version_info.json"
)

错误记录2:
Could not find a version that satisfies the requirement bleach<4.0.0,>=3.0.2 (f
rom apache-superset0.999.0.dev0) (from versions: )
No matching distribution found for bleach<4.0.0,>=3.0.2 (from apache-superset
0.
999.0.dev0)
解决方式:
以上可能发生在任意包环节,是因为网络问题造成的超时引起的,可以使用国内源进行安装

pip install -e .  -i  http://pypi.douban.com/simple --trusted-host pypi.douban.com

2.5 完成superset 配置

python superset db upgrade

fabmanager create-admin --app superset

在这句执行后,需要输入管理员用户名和密码,请牢记信息,后续将使用该信息登录

python superset init

python superset load_examples

错误记录
1.参考其他文档执行创建管理员过程中发生过

(newSuperSet) E:\Project\incubator-superset\new\incubator-superset-master\superset>fabmanager create-admin --app superset
fabmanager is going to be deprecated in 2.2.X, you can use the same commands on the improved 'flask fab '
Username [admin]: joey
User first name [admin]:
User last name [user]:
Email [admin@fab.org]:
Password:
Repeat for confirmation:
Traceback (most recent call last):
File "c:\users\vikin\anaconda3\envs\newsuperset\lib\runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "c:\users\vikin\anaconda3\envs\newsuperset\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "C:\Users\vikin\Anaconda3\envs\newSuperSet\Scripts\fabmanager.exe_main.py", line 7, in 
File "c:\users\vikin\anaconda3\envs\newsuperset\lib\site-packages\flask_appbuilder\console.py", line 417, in cli
cli_app()
File "c:\users\vikin\anaconda3\envs\newsuperset\lib\site-packages\click\core.py", line 722, in call
return self.main(*args, **kwargs)
File "c:\users\vikin\anaconda3\envs\newsuperset\lib\site-packages\click\core.py", line 697, in main
rv = self.invoke(ctx)
File "c:\users\vikin\anaconda3\envs\newsuperset\lib\site-packages\click\core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\users\vikin\anaconda3\envs\newsuperset\lib\site-packages\click\core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\users\vikin\anaconda3\envs\newsuperset\lib\site-packages\click\core.py", line 535, in invoke
return callback(*args, **kwargs)
File "c:\users\vikin\anaconda3\envs\newsuperset\lib\site-packages\flask_appbuilder\console.py", line 132, in create_admin
auth_type.get(_appbuilder.sm.auth_type, "No Auth method")
AttributeError: 'NoneType' object has no attribute 'auth_type'

解决办法:
调整了语句执行顺序,先初始化数据库,再创建管理员

2.加载示例数据时发生

raise URLError(err)
urllib.error.URLError: <urlopen error [WinError 10054] 远程主机强迫关闭了一个现
有的连接。>

这个问题应该是因为连接数据源超时,没有很好的解决办法

2.6 编译前端文件,并进入前端开发者模式

以下操作要进入superset/assets目录下
安装编译所需模块

npm install -d

修改package.json的第17行(这里是设置变量,但是此命令在linux和Mac是可以通过的,windows不能通过),在NODE_ENV前面添加set,即

"build": "cross-env NODE_OPTIONS=--max_old_space_size=8192 set NODE_ENV=production webpack --mode=production --colors --progress",

编译前端文件,并进入前端开发者模式

npm run build
npm run dev

2.7 运行Flask

在 incubator-superset/superset 目录下新建 run.py,添加如下内容:

from superset import app
app.run(debug=True, host='0.0.0.0', port=8088)

然后点击运行Pycharm,访问:http://localhost:8088,输入管理员账号跟密码,登录。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值