抛弃臃肿的Mathematica, 用免费的Wolfram Engine + Jupyter完成数学计算与绘图

发布于 2020-04-01  128 次阅读


Wolfram Engine都发布了大半年了我才知道这么个好东西(扶额). 平常有些数学计算的需求, 一般都会用 Mathematica 来解决, 但是 MMA 的毛病很明显: 启动慢, 界面缩放比例异常导致的奇丑无比的UI. 在相当多简单计算的场景下, 过慢的启动速度是严重影响体验的. 于是用 Wolfram Engine 作为替代成了一个很好的选择.

组件一览

首先列出需要用到的几样东西.

Free Wolfram Engine

Jupyter Lab (或者 Jupyter Notebook)

Wolfram Language For Jupyter

安装过程概述

首先到 Wolfram 的网页下载 Wolfram Engine, 下载开始之后网页会提示你获取 License, 跟着提示做就行, 在第一次启动 Engine 时软件会提醒你授权.

接下来安装 Jupyter, 你可以选择传统的 Jupyter Notebook, 也可以使用(帅气上档次的) Jupyter Lab. 如果是用 pip 的话就这两个命令二选一就行了. 详情见 https://jupyter.org/install

 
# Jupyter Lab
# Launch it with 'jupyter lab' after installing
python -m pip install jupyterlab

# Jupyter Notebook
# Lanuch it with 'jupyter notebook' after installing
python -m pip install notebook

接下来安装WolframLanguageForJupyter. 首先克隆这个仓库到本地.

https://github.com/WolframResearch/WolframLanguageForJupyter

接下来进入到仓库目录运行


./configure-jupyter.wls add

当然了在 Windows 上...经过我的实际测试, 这个脚本不能在 PowerShell 中正常启动, 只能进 CMD 才能正确安装.

成功安装之后运行


jupyter kernelspec list

会看到类似这样的输出


wolframlanguage12    C:\ProgramData\jupyter\kernels\wolframlanguage12

使用效果

创建一个新的 Wolfram Language Notebook, 试试看常用的操作如何.

Wolfram Engine in Jupyter Lab 01
Wolfram Engine in Jupyter Lab 02

可以看到 Jupyter 风格的 ? 查询函数用法的操作依然可以正常运行. 但是现阶段...没有 Tab 补全. 所以只能看着 网上的文档写或者拿个什么文本编辑器写好了再运行.

其实 Wolfram Engine 还可以配合 VS Code 玩出花样, 只不过由于 Engine 公布没有多久, 现阶段的相关插件不是很成熟, 我试着安装了一下, 安装过程比较繁琐. 而且, 在开发环境中写 Wolfram Language 的场景是为了大型项目而存在的, 适合处理复杂的逻辑, 但是并不适合可视化. 虽然有在脚本中调用内置的 Java 图形程序显示图像的办法, 但是终究没有 Jupyter 来的方便. 总而言之, Jupyter 于我而言够用了, 仍然想折腾的可以看 https://zhuanlan.zhihu.com/p/102176115


终有一日, 仰望星空