我想在正在运行的内核中安装新库(而不是自举)。我可以创建一个连接到EMR群集的sagemaker笔记本,但是安装软件包非常麻烦。无法在笔记本上安装软件包。我尝试了几种方法,例如通过jupyterLab中的终端安装软件包。
$ conda install numba
[conda_pytorch_p36笔记本上的安装似乎工作正常,但是SparkMagic(pyspark)笔记本上未安装软件包。
错误代码:
An error was encountered:
No module named numba
Traceback (most recent call last):
ImportError: No module named numba
jupyter magic命令也仅在pyspark笔记本中不起作用
!pip install keras
错误:
An error was encountered:
invalid syntax (<stdin>, line 1)
File "<stdin>", line 1
!pip install keras
^
SyntaxError: invalid syntax
基于github帖子中的答案,这项工作也没有执行
from subprocess import call
call("pip install dm-sonnet".split(" "))
[当您通过JupyterLab中的终端运行$ conda install numba
时,它实际上是在您的本地环境中成功完成安装。问题是,当您使用Sparkmagic作为内核时,单元中的代码始终在spark集群上运行,而不是在本地笔记本环境上运行。要在本地运行单元格的内容,应在单元格的开头写入%%local
。之后,该单元中的所有内容都将在本地运行,并且已安装的模块将可用。否则,您应该将模块安装在远程Spark集群上。在这里阅读更多:https://github.com/jupyter-incubator/sparkmagic/blob/master/examples/Pyspark%20Kernel.ipynb