You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已安装Pillow仍报错?R中Keras图像加载问题求助

问题:已安装Pillow,运行Keras模型仍提示"The Pillow Python package is required to load images"?

之前我的Keras/TensorFlow原本可以正常运行,后来莫名崩溃,于是按以下步骤卸载重装:

  • 安装ANACONDA 2019.03 X64版本;
  • 在Anaconda Prompt执行以下命令:
    conda update -n base -c defaults conda
    pip install --upgrade pillow
    conda install -c conda-forge keras tensorflow
    pip install tensorflow --upgrade
    
  • 安装R 3.6.0;
  • 安装Rstudio 1.2.1335;
  • 安装Rtools3.5并勾选"add rtools to syst path";
  • 在Rstudio中执行以下代码:
    install.packages("devtools")
    library(devtools)
    devtools::install_github("rstudio/keras")
    library(keras)
    devtools::install_github("rstudio/tensorflow")
    library(tensorflow)
    install_tensorflow()
    

但运行Keras模型时出现错误:

Error in image_load(idx, target_size = c(64, 64)) : The Pillow Python package is required to load images

明明已经安装了Pillow,为什么还会报错?该如何解决?

环境详情

执行tf_config()结果:

TensorFlow v1.14.0 (C:\Users\Mezeix\ANACON~1\envs\R-TENS~1\lib\site-packages\tensorflow\__init__.p)

执行reticulate::py_config()结果:

python: C:\Users\Mezeix\Anaconda3\envs\r-tensorflow\python.exe
libpython: C:/Users/Mezeix/Anaconda3/envs/r-tensorflow/python36.dll
pythonhome: C:\Users\Mezeix\ANACON~1\envs\R-TENS~1
version: 3.6.8 |Anaconda, Inc.| (default, Feb 21 2019, 18:30:04) [MSC v.1916 64 bit (AMD64)]
Architecture: 64bit
numpy: C:\Users\Mezeix\ANACON~1\envs\R-TENS~1\lib\site-packages\numpy
numpy_version: 1.16.4
tensorflow: C:\Users\Mezeix\ANACON~1\envs\R-TENS~1\lib\site-packages\tensorflow\__init__.p
python versions found:
C:\Users\Mezeix\Anaconda3\envs\r-tensorflow\python.exe
C:\Users\Mezeix\ANACON~1\python.exe
C:\Users\Mezeix\Anaconda3\python.exe

问题分析与解决办法

从你的环境信息能看出来,核心问题是R的reticulate包没有关联到正确的Python环境——你在Anaconda的base环境装了Pillow,但R实际调用的是r-tensorflow这个虚拟conda环境,而这个环境里根本没装Pillow,所以才会报错。

具体解决步骤:

  1. 激活R对应的conda环境并安装Pillow
    打开Anaconda Prompt,先切换到r-tensorflow环境:

    conda activate r-tensorflow
    

    然后直接在这个环境里安装Pillow,推荐用conda安装更适配环境:

    conda install -c anaconda pillow
    # 也可以用pip:pip install pillow
    
  2. 在R里验证Pillow是否可用
    打开RStudio,执行以下代码确认Pillow能被正确导入:

    library(reticulate)
    # 也可以直接用这个命令在指定环境安装Pillow,省得切换终端
    # py_install("pillow", envname = "r-tensorflow")
    pillow <- import("PIL")
    print(pillow$`__version__`)
    

    如果能正常打印出Pillow的版本号,说明关联成功了。

  3. 重启RStudio并测试模型
    环境变量的更新有时候需要重启才能生效,关闭RStudio再重新打开,然后运行你的Keras模型,应该就不会再出现Pillow缺失的报错了。

额外小贴士:

以后安装Python相关包时,尽量确保是在R当前使用的conda环境里操作。可以在R里执行reticulate::use_condaenv("r-tensorflow", required = TRUE)强制指定环境,后续用py_install安装的包都会直接到这个环境里,避免再出现环境不一致的问题。

内容的提问来源于stack exchange,提问作者Laurent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:51:38