[英]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.