背景

对于初学者入门 Scala 编程,如果在学习过程中需要编写一些代码片段来实操 Scala 语法的时候是怎么测试的呢?对于菜鸡的我起初只想到了两种方法:

  • Scala Terminal:在终端中进行交互。
  • IntelliJ IDEA:IDE中编写代码片段。

在实践的时候就慢慢发现上述两种的方法的弊端:Scala Terminal 中测试语法没有问题但不能保存语法介绍和说明,遗忘之后不能再次查询;IDEA 非常强大但对于初学者测试代码片段就有点杀鸡用牛刀的感觉(PS:打开IDEA就写一小段代码也太浪费电脑资源了😂)!因此是否存在高性价比的工具来解决这问题呢?答案是有的!

类比于python的学习,是否想起有一款 jupyter notebook 交互编程环境呢?Jupyter notebook中编写python脚本实时交互可视化太爽了,如果jupyter notebook 能支持 scala 语法多么完美啊!心里一想然后一搜,卧槽!真有!开源大佬牛鼻!!!传送门直达~ 本文就介绍如何在jupyter notebook 中配置 scala 交互式编程环境。

配置流程

  1. 安装scala
    至于如何安装scala 可以参考另一篇博文:【Scala教程】Scala 简介与安装
  2. anaconda 安装 jupyter notebook
    默认已配置好python开发环境,没有安装的同学可以自行搜索教程安装哦!
  3. 配置 scala kernel
    本文选用的是almond,当然也有其它可选择的kernel,可以根据自己的需求自行选择哦!

windows 安装 almond

  1. 查看scala 版本,例如我安装的是scala 2.13.1

    在源库中搜索发现almond v0.8.2已支持scala 2.13.1Release version:

  2. 创建文件夹almond并在终端内打开。

  3. 在终端中设置 scalaalmond 版本;

    1
    2
    > set SCALA_VERSION=2.13.1
    > set ALMOND_VERSION=0.9.1
  4. 在终端中通过coursier下载launcher,官网命令会报错:

    1
    2
    3
    4
    5
    > bitsadmin /transfer downloadCoursierCli https://git.io/coursier-cli "%cd%\coursier"
    > bitsadmin /transfer downloadCoursierBat https://git.io/coursier-bat "%cd%\coursier.bat"
    > .\coursier bootstrap -r jitpack -i user -I user:sh.almond:scala-kernel-api_%SCALA_VERSION%:%ALMOND_VERSION% sh.almond:scala-kernel_%SCALA_VERSION%:%ALMOND_VERSION% -o almond
    > .\almond --install

  5. 终端中安装 almond

    1
    .\almond --install

  6. 终端中查看已安装kernel:jupyter kernelspec list

  7. 打开 jupyter notebook 或者 jupyter lab 发现都可以使用scala kernel;


  8. 安装完成后可以删除almond文件夹;

安装过程参考官网:https://almond.sh/docs/quick-start-install

填坑指南

  1. bitsadmin /transfer downloadCoursierCli https://git.io/coursier-cli "%cd%\coursier"命令执行报错:
    unable to add file - 0X80070057:

    原因:bitsadmin 命令找不到相对路径!
    方法:修改命令参数为绝对路径可以下载!例如我的路径:bitsadmin /transfer downloadCoursierCli https://git.io/coursier-cli "d:\almond\coursier"

  2. .\coursier bootstrap ***命令报错;
    原因与上述错误类似。
    方法:修改命令为版本号:

  3. .\coursier bootstrap ***报错:error fetching artifacts ***
    原因:文件下载校验码错误,重新下载对应的文件。
    方法:打开下载错误的文件删除重新执行命令下载!

吐槽下载速度真是慢,windows配置问题真是多,折腾了一下午,心累!

联系作者