如何在Jupyter IPython Notebook中安装Scala?

20

1
a) 你使用的操作系统是Linux/MacOS,还是Win10? b) “这些都不起作用”你的症状是什么?你可以启动Jupyter,但Scala没有列出来作为一种类型?还是其他的问题? - smci
8个回答

22

我在 Jupyterhub 笔记本上尝试了以下操作,它可以完美运行:

# Step 1: Install spylon kernel
pip install spylon-kernel

# Step 2: create a kernel spec
python -m spylon_kernel install

# Step 3: start jupyter notebook 
jupyter notebook

提示:要列出所有已安装的内核,您可以运行以下命令:

jupyter kernelspec list

今天这个答案是可行的,Isaac更高评分的答案已经过时了。 - cokeSchlumpf
根据他们的GitHub和我的初步探索,如果你想在Jupyter上使用scala+python,Spylon似乎有些过时了(我在Windows上安装它用于Scala+Spark+Jupyter的休闲使用,所以我不需要访问我的Linux VM或云来进行Scala+Spark)。 - r poon
2
提示:“权限被拒绝:'/usr/local/share/jupyter'”,但我的Jupyter位于venv中的“/home/username/.local/bin/jupyter”。有没有办法安装到正确的位置?(venv) - R891
这是完美的答案。谢谢。 - Ankur Srivastava

15

您可以使用此处提供的信息。

确保您安装了IPython 3。命令行运行ipython --version应该返回值>= 3.0。如果不是这种情况,快速设置它的方法是安装Anaconda Python分发版,然后运行:

$ pip install --upgrade "ipython[all]"

然后,命令行运行ipython --version应该返回值>= 3.0。

下载适用于Scala 2.10 (txzzip)或Scala 2.11 (txzzip)的Jupyter Scala二进制文件,并将它们解压到一个安全的位置。然后运行:

一旦运行jupyter-scala程序(或Windows上的jupyter-scala.bat),它将包含所需的设置,为当前用户设置Jupyter Scala内核。

检查Jupyter/IPython是否知道Jupyter Scala,方法是运行

$ jupyter kernelspec list

这应该会打印出其中一行,如下所示:

scala211

(或scala210,具体取决于您选择的Scala版本)。

然后可以使用以下命令之一来运行IPython控制台:

$ jupyter console --kernel scala211

并立即开始使用Jupyter Scala内核,或者使用以下命令之一来运行Jupyter Notebook:

$ jupyter notebook

并在Jupyter Notebook启动页面右上角的下拉列表中选择Scala 2.11创建笔记本。

注意:由于IPython现已被Jupyter取代,在上述命令中,我们用jupyter替换了ipython


对我没用,也许答案太旧了...我在macOS上使用ipython-7.7.0。 - cokeSchlumpf
按照相同的步骤在Windows上操作即可。但是请注意,对Jupyter的引用路径可能会导致问题,请小心处理。 - r poon

6

我刚刚运行了以下命令:

  • conda create --name base2 --clone base 创建与base相同的环境。

  • conda activate base2 切换到环境。

  • conda install -c conda-forge spylon-kernel 安装spylon-kernel。

  • python -m spylon_kernel install --user 为Jupyter Notebook创建一个内核规格。

  • jupyter-notebook 启动Jupyter Notebook。

...一切正常。

我使用的是:

  • Anaconda 4.7.12
  • Jupyter Notebook 6.0.1
  • Ubuntu 18.04
  • ipykernel 5.1.3
  • ipython 7.9.0
  • ipython_genutils 0.2.0
  • jupyter_client 5.3.4
  • jupyter_core 4.6.0
  • traitlets 4.3.3

来自def suma(a: Int) = a + 3

enter image description here


3

我无法在Heapify的答案下添加评论,但他的解决方案在Windows上的JupyterLab上可以完美运行。

我将他的代码剪切并粘贴到Anaconda Powershell提示符中。

pip install spylon-kernel
python -m spylon_kernel install
jupyter notebook

我刷新了我的Anaconda启动器,然后Spylon项目选项就出现了。


.scala_kernel导入SpylonKernel 文件/home/icmuser/anaconda2/lib/python2.7/site-packages/spylon_kernel/scala_kernel.py,第5行,在<module>中 从init_spark_magic导入InitSparkMagic 文件/home/icmuser/anaconda2/lib/python2.7/site-packages/spylon_kernel/init_spark_magic.py,第6行,在<module>中 从.scala_interpreter导入init_spark 文件/home/icmuser/anaconda2/lib/python2.7/site-packages/spylon_kernel/scala_interpreter.py,第84行,nonlocal spark_jvm_proc - Kaushal

2

Linux的答案可以在这里找到。

安装Scala。将以下内容添加到~/.bashrc文件中:

export SCALA_HOME=/usr/local/share/scala export PATH=$PATH:$SCALA_HOME/bin:$PATH 按照GitHub网站上的说明操作:

下载并解压预打包的Scala 2.11二进制文件。 解压每个已下载的归档文件,并从控制台进入包含它的目录的bin子目录。 然后运行以下命令来设置相应的Scala内核:

./jove-scala --kernel-spec


1
有用的提示,这仅适用于Linux操作系统。原帖并未指定使用哪个操作系统。 - smci

2

对于 Mac 系统,我只需要执行 3 条命令就可以在 Jupyter 笔记本上添加 Scala 并与 Spark 一起运行(我已经安装了 Spark)。

pip install spylon-kernel

python -m spylon_kernel install

ipython notebook

在终端上运行这些命令后,您将在笔记本中拥有 spylon-kernel,它可以用作 Scala 笔记本。


2

请确保在本地安装了Spark并添加或导出了.profile/environment文件中的SPARK_HOME

如果没有,请查看以下信息:

"Intitializing Scala interpreter ..."

没有任何结果。


0

spylon-kernel 已经多年没有更新了。现在更好的选择是使用almond


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接