【发布时间】:2019-10-09 10:08:09
【问题描述】:
这非常接近这个问题,但我添加了一些针对我的问题的细节:
Matplotlib Plotting using AWS-EMR jupyter notebook
我想找到一种在我的 Jupyter 笔记本中使用 matplotlib 的方法。这是错误的代码-sn-p,它相当简单:
笔记本
import matplotlib
matplotlib.use("agg")
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.show()
我选择这个 sn-p 是因为仅此行在尝试使用 TKinter(未安装在 AWS EMR 集群上)时失败:
import matplotlib.pyplot as plt
当我运行完整的笔记本 sn-p 时,结果是没有运行时错误,但也没有任何反应(没有显示图表。)我对这可以工作的一种方式的理解是添加以下任一片段:
pyspark 魔法符号
%matplotlib inline
结果
unknown magic command 'matplotlib'
UnknownMagic: unknown magic command 'matplotlib'
IPython 显式魔术调用
from IPython import get_ipython
get_ipython().run_line_magic('matplotlib', 'inline')
结果
'NoneType' object has no attribute 'run_line_magic'
Traceback (most recent call last):
AttributeError: 'NoneType' object has no attribute 'run_line_magic'
到我的笔记本,它调用了一个内联 matplotlib 图的 spark 魔术命令(至少这是我的解释。)在使用引导操作后,我已经尝试了这两种方法:
EMR 引导程序
sudo pip install matplotlib
sudo pip install ipython
即使添加了这些,我仍然得到一个错误,即 matplotlib 没有魔法。所以我的问题肯定是:
问题
如何使 matplotlib 在 AWS EMR Jupyter 笔记本中工作?
(或者如何在 AWS EMR Jupyter 笔记本中查看图表和绘制图像?)
【问题讨论】:
-
从@FoxanNg 发布的图片中,我可以看到jupyter 实例正在使用conda env(可以是为Jupyter 创建的virtualenv)。我们可以尝试在引导程序中使用
conda而不是pip安装matplotlib并试一试。 -
当试图在我的引导文件中调用 conda 时,它不知道在哪里找到它(它得到一个 command not found 错误。)
-
我不确定集群是如何设置的。但从图像看起来像`/opt/conda/bin/conda'。可以用全路径安装吗?
-
它认为没有在引导时安装 conda:
/opt/conda/bin/conda: command not found -
启动了一个EMR集群,发现默认不提供conda支持。您能否确认我们是否没有通过引导程序安装 Conda?
标签: python matplotlib pyspark jupyter-notebook amazon-emr