在windows系统中搭建superset开发环境
我只说一句废话,垃圾windows。
下面进入正文。
想从源码构建superset项目的话需要下面几部。
1.去github下载源码。2种方式:
- 第一种:使用git命令,建个项目目录(推荐使用虚拟环境virtualenv),然后cd 到项目目录,执行git clone https://github.com/apache/incubator-superset.git
-
第二种:直接下载zip文件,下载好了然后解压即可。如图:
image.png
2.创建本地开发环境
首先保证你的python版本为2.7或者3.4(推荐2.7),已经安装好了pip。
比如你的项目根目录为d:superset_venv。
pip install superset
此时你有很大概率会失败,因为windows系统默认没有vc++9.0环境,所以你需要按照dos命令窗口给出的提示去下载。
下载下来的文件是一个msi文件,直接运行即可,无脑下一步,然后结束。此时此刻你的windows系统已经拥有了vc++9.0的环境。
再次运行pip install superset,这次所有的依赖包应该都被pip装好了。
把你下载好的代码放到这个项目根目录中。如图:
image.png
然后回到命令行里,回到 superset/assets目录下,我们下面需要根据package.json编译前端依赖项。
就执行两条命令:
yarn
yarn run build
你会发现又报错了,什么NODE_ENV不识别?没错,因为windows不支持多条命令一起执行,所以你需要修改package.json文件。
现在用pycharm打开你的源码文件,就是刚刚你拖到虚拟环境目录的那个文件夹(incubator-superset-master)。
package.json文件在incubator-superset-master/superset/assets目录下,双击打开。
然后找到scripts项,修改里面的build,改成如图所示的样子。因为你运行的是yarn run build,这将会启动编译,在assets目录下生成node_modules文件夹。如果你要使用开发模式,那就修改dev。原理同build。
image.png
改完了之后记得ctrl+s保存!!!
然后再次执行yarn run build命令,这次应该就不会报错了。到此为止,前端编译通过。剩下的就是后端的编译了。
现在回到项目的根目录,incubator-superset-master。
image.png
然后执行命令,python setup.py install。
image.png
不出意外的话你还会报错,因为incubator-superset-master/superset/static目录下只有一个assets链接,非常恶心的是这个链接在windows中无效,我们需要自己创建链接,把static链接到assets目录上。
现在打开incubator-superset-master/superset/static目录,删除里面的assets文件夹。
image.png
然后再次回到命令行,cd 到incubator-superset-master/superset/static目录,执行创建链接的命令mklink assets ..\assets
image.png
然后你会发现你的incubator-superset-master/superset/static目录又有了一个叫assets的文件夹。没错,它就是superset/assets目录的链接。
然后配置pycharm的启动项。如图:
在你的pycharm右上角打开配置。
image.png
没想启动项需要自己创建一个,点击加号,选择python。
image.png
顺便说一句,如果你在选择python interpretor的时候没有你虚拟环境中的解释器,需要打开pycharm的设置。
image.png
image.png
一顿操作之后,回到刚才配置启动项的界面里就有虚拟环境中的解释器了。
然后点击apply,ok,保存。
到此为止,我们的windows系统下的superset环境就搭建好了。
在console中看到这些提示就说明环境已经没问题了。如图:
image.png