尝试了一下kernelgateway的notebook_http功能
因为Geoist的定位就是将封装后的地球物理学代码共享给更多的用户使用,所以让python程序以微服务框架为大家服务是理想的解决方案之一。今天在出差的路上没忍住,亲测了一下让Jupyter Notebook变为微服务的kernelgateway服务。作为Jupyter系列项目中的一个,这个功能还是很酷的,只要通过简单的改造,你的nb程序就可以变成microservice啦
首先启动Jupyter Notebook,写一个ipynb文件,本次测试的代码如下:
开始第一个代码块cell
1 | import math |
- 再写第二个代码块
1 | # GET /convert |
注意上面的# GET /convert,这个是关键,convert代表将来的微服务入口,这个cell的前三行是固定写法,记下来。里面的print是返回的内容。
- 写好没问题后,保存到本地,注意目录要能通过http访问到。运行命令不容易记,写在这里吧
1 | jupyter kernelgateway --KernelGatewayApp.api='kernel_gateway.notebook_http' --KernelGatewayApp.seed_uri='kgtest.ipynb' |
ps:如果出现signal相关错误,可以通过尝试conda update ipykernel解决