簡體   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