无法从EMR笔记本访问python模块

时间:2020-06-19 20:08:16

标签: pyspark jupyter-notebook amazon-emr

出于某些实验目的,我正在使用连接到群集的EMR笔记本。我需要安装一些python模块进行测试,特别是spacy,它是数据模块en_core_web_sm。

我将其切入主节点和核心节点,并分别下载了模块。但是,我无法从我的EMR笔记本中导入。我收到以下错误:

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

我知道有一种方法可以仅针对EMR笔记本电脑安装它们,但这在生产环境中是不够的,因此请避免按照本指南中的建议安装笔记本电脑的答案:https://aws.amazon.com/blogs/big-data/install-python-libraries-on-a-running-cluster-with-emr-notebooks/

如果缺少某些设置步骤,请告知我。感谢您的回应。

2 个答案:

答案 0 :(得分:1)

您可以在创建EMR时使用引导程序安装其他模块 https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-bootstrap.html

答案 1 :(得分:0)

我能够通过将引导脚本更改为使用sudo而不是--user来解决此问题。 (您也可以手动更改下面的运行脚本)

在我跑步之前

pip3 install spacy --user
python3 -m spacy download en --user

我将该脚本更改为

sudo pip3 install spacy
sudo python3 -m spacy download en

要验证此解决方案,请从您的EMR笔记本中快速发出以下命令(以进行前后比较)

sc.list_packages()

您应该看到与此类似的输出

SparkSession available as 'spark'.
Package                    Version   
-------------------------- ----------
beautifulsoup4             4.9.0     
blis                       0.4.1     
boto                       2.49.0    
catalogue                  1.0.0     
certifi                    2020.4.5.2
chardet                    3.0.4     
cymem                      2.0.3     
en-core-web-sm             2.3.0     
idna                       2.9       
importlib-metadata         1.6.1     
jmespath                   0.9.5     
lxml                       4.5.0     
murmurhash                 1.0.2     
mysqlclient                1.4.2     
nltk                       3.4.5     
nose                       1.3.4     
numpy                      1.16.5    
pip                        9.0.1     
plac                       1.1.3     
preshed                    3.0.2     
py-dateutil                2.2       
python37-sagemaker-pyspark 1.3.0     
pytz                       2019.3    
PyYAML                     5.3.1     
requests                   2.24.0    
setuptools                 28.8.0    
six                        1.13.0    
soupsieve                  1.9.5     
spacy                      2.3.0     
srsly                      1.0.2     
thinc                      7.4.1     
tqdm                       4.46.1    
urllib3                    1.25.9    
wasabi                     0.6.0     
wheel                      0.29.0    
windmill                   1.6       
zipp                       3.1.0

这不是IMO的最佳解决方案,因为使用sudo之后显示的第一个警告是

WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.

如果有人有更好的解决方案,请免费发布。

相关问题