即使已经安装了枕头,也无法导入PIL.Image?

时间:2019-08-22 15:26:47

标签: python r tensorflow keras deep-learning

我正在阅读《用R进行深度学习》(https://livebook.manning.com/book/deep-learning-with-r/chapter-5/112)一书的第5章。

运行以下代码时,出现以下错误:Error in py_iter_next(it, completed) : ImportError: Could not import PIL.Image. The use of load_img requires PIL.

有关此错误消息的所有答案,建议使用pip install pillow。当我在终端中运行此程序时,将显示以下内容:

Requirement already satisfied: pillow in /anaconda3/lib/python3.7/site-packages (6.1.0)

因此,已经安装了Pillow,但是我无法运行下面的代码。 我正在使用Mac Book Pro平台x86_64-apple-darwin15.6.0以及R版本3.6.0(2019-04-26)。我的机器上也安装了Python 3.7.3。任何推荐和支持都将受到高度赞赏!

#Displaying a batch of data and labels
batch <- generator_next(train_generator)
str(batch)

2 个答案:

答案 0 :(得分:0)

问题在于Keras for R创建了自己的虚拟环境,称为r-reticulate,并且那里没有枕头。您还必须找出它是使用conda还是virtualenv创建此类环境的。然后,激活它并安装枕头和scipy。最后,重新启动R会话。

在我的情况下是conda:

$ conda env list
# conda environments:
#
base                  *  C:\Users\black\Anaconda3
py2                      C:\Users\black\Anaconda3\envs\py2
r-reticulate             C:\Users\black\Anaconda3\envs\r-reticulate

$ conda activate r-reticulate
$ conda install pillow scipy

答案 1 :(得分:0)

这是一个老问题,但这对我来说刚刚有用:使用 reticulate::py_install("pillow") 将任何丢失的包直接安装到网状环境中。