繁体   English   中英

在 EMR 中运行 Jupyter PySpark notebook,虽然已安装,但未找到模块

[英]Running Jupyter PySpark notebook in EMR, module not found, although it is installed

我正在尝试在 EMR 中运行 Jupyter notebook。 笔记本正在使用 PySpark kernel。笔记本所需的所有包都是通过 boostrap 操作安装的,但是当笔记本运行时,它会失败并显示导入失败的消息:

An error was encountered:
No module named 'xxxxx'
Traceback (most recent call last):
ModuleNotFoundError: No module named 'xxxxx'

我怎样才能告诉 Jupyter 使用集群上安装的包。 顺便说一下,“集群”只包含一个主节点。 我猜 Jupyter 正在使用它自己的虚拟环境或类似的东西,这就是它看不到安装包的原因。

好的,经过一些调查,我了解到这些东西......

为了修改 EMR Notebook Pyspark kernel 中安装并识别的 Python 包,应使用以下命令安装包:

sudo pip3 install $package

这里重要的一点是sudo pip3

另一方面,如果我想修改 EMR Notebook Python3 kernel 识别的 Python 包,应该使用这种方法处理它们:

# Init and activate conda environment,
# in order to use its pip to install packages.
/emr/notebook-env/bin/conda init
source /home/hadoop/.bashrc

# Conda should be on the path now.
conda activate

sudo /emr/notebook-env/bin/pip3 install $package
...

诀窍是初始化 Conda 环境,它是只读的 state 之类的......之后,激活该环境并使用与该环境相对应的 pip 安装。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM