Python 3.5或更高版本 Wolfram Language 11.3或更高版本(Mathematica、Wolfram Desktop或Wolfram Engine) WolframClientForPython
>>>pip3安装钨发动机
>>>git克隆 git://github.com/WolframResearch/WolframWebEngineForPython
>>>光盘WolframWebEngineForPython >>>pip3安装。
python3-mwolframbeengine——演示 ---------------------------------------------------------------------- 地址 http://localhost:18000/ 文件夹/Users/rdv/Desktop/wolframengineforpython/wolfrembeengine/examples/demoapp 索引Index.wl ---------------------------------------------------------------------- (按CTRL+C退出)
将单个文件与URLDispatcher一起使用 在目录布局中使用多个文件
URL调度器[{ “/api”->APIFunction[“x”->“String”], “/form”->窗体函数[“x”->“字符串”], “/”->“你好,世界!” }]
>>>python3-m wolframweb引擎调度器.m ---------------------------------------------------------------------- 地址 http://localhost:18000/ 文件/Users/rdv/Desktop/dispatcher.m ---------------------------------------------------------------------- (按CTRL+C退出)
http://localhost:18000/ http://localhost:18000/form http://localhost:18000/api
所有扩展名为“.m”、“.mx”、“.wxf”和“.wl”的文件都将在内核中使用 生成HTTPResponse 文件内容。 任何其他文件都将作为静态内容。 如果请求路径对应于磁盘上的目录,服务器将在该目录中搜索名为index.wl的文件。 可以使用--index选项更改此约定。
mkdir测试 mkdir测试程序/表单 mkdir测试pp/api echo'ExportForm[{“hello”,UnixTime[]},“JSON”]'>testapp/index.wl echo'FormFunction[“x”->“String”]'>testapp/form/index.wl echo'APIFunction[“x”->“数字”,#x!&]'>testapp/api/index.wl echo'HTTPResponse[“hello world”]'>测试pp/response.wl echo'[“some”,“static”,“JSON”]'>testapp/static.JSON
>>>python3-m沃尔夫兰·本杰恩·特斯塔普 ---------------------------------------------------------------------- 地址 http://localhost:18000/ 文件夹/用户/rdv/桌面/testapp 索引Index.wl ---------------------------------------------------------------------- (按CTRL+C退出)
http://localhost:18000/ http://localhost:18000/form http://localhost:18000/api?x=4 http://localhost:18000/response.wl http://localhost:18000/static.json
#在主机的端口8080上公开服务器 >>>docker run-ti-p 8080:18000 wolframresearch/wolframebengineforpython--演示 #提供/srv目录中的文件 >>>docker run-ti-p 8080:18000 wolframresearch/wolframebengineforpython/srv公司
>>>docker运行-ti-p 8080:18000--env WOLFRAMINIT='-pwfile! cloudlm.wolfram.com-授权O-WSTD-DA42-GKX4Z6NR2DSZR'wolframresearch/wolframbeengineforpython--演示
>>>python3-m wolframbeengine--帮助 用法:__main__.py[-h][-端口端口][-域域域][-内核内核内核] [--池大小poolsize][--缓存][--惰性][--索引索引] [--demo[{None,ask,trip,ca,form}]] [路径] 位置参数: 路径 可选参数: -h、 --帮助显示此帮助消息并退出 --端口port插入端口。 --域域插入域。 --kernel kernel插入内核路径。 --poolsize poolsize插入内核池大小。 --启动超时秒 池中内核的启动超时(秒)。 --cached服务器将缓存WL输入表达式。 --惰性服务器将在第一个 请求。 --index index搜索文件夹索引的文件名。 --演示[{None,ask,trip,ca,form}] 运行演示应用程序
问 :使用AskFunction的边际税率计算器。 旅行 :使用FormFunction和TravelDirections的行程计算器。 加利福尼亚州 :使用URLDispatcher和GalleryView的Cellular Automaton演示库。 形式 :使用FormFunction的ImageProcess演示。
>>>python3-m wolframbeengine--演示ca ---------------------------------------------------------------------- 地址 http://localhost:18000/ 文件/Users/rdv/Wolfram/git/wolframengineforpython/wolframwebengine/examples/demo/ca.wl ---------------------------------------------------------------------- (按CTRL+C退出)
>>>mkdir测试 >>>echo'ExportForm[{“hello”,“from”,“Kernel”,UnixTime[]},“JSON”]'>testapp/index.wl
>>>python3-m沃尔夫兰·本杰恩·特斯塔普 ---------------------------------------------------------------------- 地址 http://localhost:18000/ 文件夹/Users/rdv/Desktop/testapp 指数指数wl ---------------------------------------------------------------------- (按CTRL+C退出)
python3-m wolframbeengine--索引索引.wxf ---------------------------------------------------------------------- 地址 http://localhost:18000/ 文件夹/用户/rdv/桌面 索引索引.wxf ---------------------------------------------------------------------- (按CTRL+C退出)
>>>python3-m wolframbeengine--缓存 ---------------------------------------------------------------------- 地址 http://localhost:18000/ 文件夹/用户/rdv/桌面 索引Index.wl ---------------------------------------------------------------------- (按CTRL+C退出)
>>>python3-m wolframwebeengine--端口9090 ---------------------------------------------------------------------- 地址 http://localhost:9090/ 文件夹/用户/rdv/桌面 索引Index.wl ---------------------------------------------------------------------- (按CTRL+C退出)
>>>python3-m wolframbeengine--域0.0.0.0 ---------------------------------------------------------------------- 地址 http://0.0.0.0:18000/ 文件夹/用户/rdv/桌面 索引Index.wl ---------------------------------------------------------------------- (按CTRL+C退出)
>>>python3-m wolframbeengine--初始化文件myinit.m ---------------------------------------------------------------------- 地址 http://localhost:18000/ 文件夹/用户/rdv/桌面 索引Index.wl ---------------------------------------------------------------------- (按CTRL+C退出)
>>>python3-m wolframwebengine--内核'/Applications/Wolfram Desktop 12.app/Contents/MacOS/WolframKernel' ---------------------------------------------------------------------- 地址 http://localhost:18000/ 文件夹/用户/rdv/桌面 索引Index.wl ---------------------------------------------------------------------- (按CTRL+C退出)
>>>python3-m钨矿床--池大小4 ---------------------------------------------------------------------- 地址 http://localhost:18000/ 文件夹/用户/rdv/桌面 索引Index.wl ---------------------------------------------------------------------- (按CTRL+C退出)
>>>python3-m钨金 (...) 内核进程以PID:485启动 套接字异常:无法从套接字读取任何消息 tcp://127.0.0.1:5106 在20.0秒和245次重试之后。 启动失败。 >>>python3-m wolframbeengine--启动时间50 (...) 内核进程已启动,PID:511 已连接到日志套接字: tcp://127.0.0.1:5447协议 内核511已就绪。 启动时间为35.43秒。
>>>python3-m wolframbeengine--客户端最大大小150 ---------------------------------------------------------------------- 地址 http://localhost:18000/ 文件夹/用户/rdv/桌面 索引Index.wl ---------------------------------------------------------------------- (按CTRL+C退出)
从 __未来__ 进口 绝对导入 , 打印函数 , unicode多边
从 让戈 . http协议 进口 Http响应
从 让戈 . 网址 进口 路径
从 wolframclient公司 . 语言 进口 禽流感
从 wolframclient公司 . 评价 进口 Wolfram语言会话
从 钨金发动机 . 网状物 进口 django_wl_视图
阶段 = Wolfram语言会话 () 定义 django_view公司 ( 请求 ): 返回 Http响应 ( “来自django的你好” ) @ django_wl-view(django_wl-view) ( 阶段 )
定义 表单视图(_V) ( 请求 ): 返回 禽流感 . 窗体函数 ({ “x” : “字符串” }, 禽流感 . 身份 , “JSON” ) @ django_wl_视图 ( 阶段 )
定义 api视图 ( 请求 ): 返回 禽流感 . API功能 ({ “x” : “字符串” }, 禽流感 . 身份 , “JSON” ) url模式 = [ 路径 ( "" , django_view公司 , 名称 = “家” ), 路径 ( “表单” , 表单视图(_V) , 名称 = “表单” ), 路径 ( “api” , api视图 , 名称 = “api” ), ]
从 aiohttp协议 进口 网状物
从 Wolfram客户端 . 评价 进口 WolframEvaluator池
从 wolframclient公司 . 语言 进口 禽流感
从 钨金发动机 . 网状物 进口 aiohttp_wl_view
阶段 = WolframEvaluator池 ( 池大小 = 4 ) 路线 = 网状物 . 路由表定义 () @ 路线 . 得到 ( "/" )
异步 定义 你好 ( 请求 ): 返回 网状物 . 响应 ( 文本 = “来自aiohttp的您好” ) @ 路线 . 得到 ( “/form” )
@ aiohttp_wl_view(aiohttp_wl_view) ( 阶段 )
异步 定义 表单视图(_V) ( 请求 ): 返回 禽流感 . 窗体函数 ( { “x” : “字符串” }, 禽流感 . 身份 , 外观规则 = { “标题” : “来自WL的您好!” } ) @ 路线 . 得到 ( “/api” )
@ aiohttp_wl_view ( 阶段 )
异步 定义 api视图 ( 请求 ): 返回 禽流感 . API功能 ({ “x” : “字符串” }, 禽流感 . 身份 ) @ 路线 . 得到 ( “/app” )
@ aiohttp_wl_view ( 阶段 )
异步 定义 应用视图(_V) ( 请求 ): 返回 禽流感 . 一次 ( 禽流感 . 获取 ( “路径/to/my/complex/wl/app.wl” )) 应用程序 = 网状物 . 应用程序 () 应用程序 . 添加路由(_R) ( 路线 ) 如果 __姓名__ == “__main__” : 网状物 . 运行应用程序(_A) ( 应用程序 )