【问题标题】:ImportError: No module named PILImportError:没有名为 PIL 的模块
【发布时间】:2012-02-10 10:39:45
【问题描述】:

我在shell中使用这个命令来安装PIL:

easy_install PIL

然后我运行python 并输入:import PIL。但我得到这个错误:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
ImportError: No module named PIL

我从来没有遇到过这样的问题,你觉得呢?

【问题讨论】:

  • @RikPoggi This page of documentation 实际上告诉使用from PIL import Image,这不起作用。
  • @Janne 只需使用 Import Image,PIL 就开始工作了。
  • 此时我建议改为easy_install Pillow。 Pillow 是 PIL 的一个分支,具有更好的封装并支持 Python 3。
  • 您可以将接受的答案更改为推荐 Pillow 的答案吗?正如@LennartRegebro 所说,这个套餐更适合长期使用。
  • 请改用pip install Pillow。然后你可以做import PIL.Image

标签: python python-imaging-library easy-install


【解决方案1】:

解决此问题的最简单方法是按照以下步骤操作。

第 1 步:卸载 PIL 包。

pip uninstall PIL

第 2 步: 在 windows 操作系统上使用 pip 安装 Pillow,如下所示。对于其他环境,请查看文章No module named PIL

在 Windows 上

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

第三步:Python Imaging Library中最关键的类是Image类,如下图所示导入即可。

from PIL import Image
im = Image.open("myimage.jpg")

如果成功,此函数返回一个 Image 对象。您现在可以使用实例属性来检查文件内容:

print(im.format, im.size, im.mode)

#Output: PPM (512, 512) RGB

【讨论】:

    【解决方案2】:

    根据官网Install Pillow,你不妨试试这个:

    进入终端并运行:

    • python3 -m pip install --upgrade pip

    然后继续运行

    • source ~/.bash_profile

    【讨论】:

      【解决方案3】:

      我找到了一个更简单的解决方案。使用虚拟环境。

      pip install Pillow
      
      from PIL import Image
      

      这适用于我在 macOS 上

      【讨论】:

        【解决方案4】:

        安装特定版本:

        pip install Pillow
        

        升级枕头

        sudo pip3 install --upgrade Pillow
        

        在 Window 10 中出现依赖错误 使用代码:easy_install 而不是 pip install

        easy_install Pillow 
        

        使用简易安装升级

        sudo easy_install --upgrade  Pillow
        

        在 OSX 系统上安装模块: 使用代码:brew install 而不是 pip install

        brew install Pillow 
        

        不使用点子:

         sudo apt-get install -y Pillow 
        

        在 CentOS7 或 Linux Fedora 上:

        yum -y install Pillow 
        

        或者在 Fedora 上试试

        sudo dnf install Pillow 
        

        如果 Homebrew 在 macOS 上搞砸了你的路径,则命令:

        python -m pip install Pillow 
        

        适用于 Python3 MacOs Homebrew 螺丝

        python3 -m pip install Pillow
        

        从列表 MacO 中验证模块

        pip freeze | grep  Pillow
        

        在 Anaconda 上作为你的 python 包管理器执行

         conda install -c anaconda Pillow 
        

        【讨论】:

          【解决方案5】:

          在某些 PIL 安装中,您必须这样做

          import Image
          

          而不是import PIL(实际上PIL 并不总是以这种方式导入)。由于import Image 为您工作,这意味着您实际上已经安装了 PIL。

          为库和 Python 模块使用不同的名称是不寻常的,但这是为(某些版本的)PIL 选择的名称。

          您可以从official tutorial获取有关如何使用此模块的更多信息。

          PS:事实上,在一些安装中,import PIL确实工作,这增加了混乱。正如@JanneKarila 发现的那样,example from the documentation 以及 MacPorts PIL 包 (1.1.7) 的一些更新版本也证实了这一点。

          【讨论】:

          • pip install image 来自志明的回答对我有用。
          • 是的,@JimSchubert 说过。 pip install image 来自 @zhimmingwang 也为我工作
          • imagenot PIL(如问题所示),它是一个不同的模块。参考:github.com/francescortiz/image。我错过了什么吗?
          • 我得到了同样的错误“ImportError: No module named PIL”。使用“pip install Pillow”安装 Pillow 并尝试运行脚本。仍然得到同样的错误。然后,我尝试导入图像,它显示“未找到名为图像的模块”。我使用“pip install image”安装了图像并再次尝试。没有运气。有什么建议吗?
          • 您应该检查您的pip 是否安装了您正在使用的python 解释器。 pip -V 告诉您它的安装位置。在 Unix 下,which python 告诉你你的python 命令在哪里。两者应该足够匹配。或者,更好的是:python -c 'import sys; print sys.path' 会告诉你你的python 命令在哪里寻找模块(print(sys.path),对于 Python 3)。
          【解决方案6】:

          我遇到了同样的问题,并尝试了上面列出的许多解决方案。

          然后我记得我安装了多个版本的 Python,并且我使用了 PyCharm IDE(这是我收到此错误消息的地方),所以我的解决方案是

          在 PyCharm 中:

          转到文件>设置>项目>Python解释器

          点击“+”(安装)

          从列表中找到 Pillow 并安装它

          希望这对可能处于类似情况的任何人有所帮助!

          【讨论】:

            【解决方案7】:
            pip(3) uninstall Pillow
            pip(3) uninstall PIL
            pip(3) install Pillow
            

            【讨论】:

              【解决方案8】:

              Windows 10 上的 Python 3.8。答案的组合对我有用。请参阅下面的独立工作示例。注释掉的行应该在命令行中执行。

              import requests
              import matplotlib.pyplot as plt
              # pip uninstall pillow
              # pip uninstall PIL
              # pip install image
              from PIL import Image
              url = "https://images.homedepot-static.com/productImages/007164ea-d47e-4f66-8d8c-fd9f621984a2/svn/architectural-mailboxes-house-letters-numbers-3585b-5-64_1000.jpg"
              response = requests.get(url, stream=True)
              img = Image.open(response.raw)
              plt.imshow(img)
              plt.show()
              

              【讨论】:

                【解决方案9】:

                使用 pil 而不是 PIL

                from pil import Image
                

                【讨论】:

                  【解决方案10】:

                  我用过:

                  from pil import Image
                  

                  而不是

                  from PIL import Image
                  

                  它对我很有效

                  祝你好运

                  【讨论】:

                    【解决方案11】:

                    在 Windows 10 上,我设法通过:

                    cd "C:\Users\<your username>\AppData\Local\Programs\Python\Python37-32" 
                    python -m pip install --upgrade pip     <-- upgrading from 10.something to 19.2.2.
                    pip3 uninstall pillow
                    pip3 uninstall PIL
                    pip3 install image
                    

                    之后在 python 中(在我的例子中是 python 3.7)这工作正常......

                    import PIL
                    from PIL import image
                    

                    【讨论】:

                    • 在将 windows 7 升级到 windows 10 后,我的 python 程序没有工作,但这个方法解决了它。谢谢!
                    【解决方案12】:

                    我用过:

                    pip install Pillow 
                    

                    并且 pip 在 Lib\site-packages 中安装了 PIL。当我将 PIL 移至 Lib 时,一切正常。我在 Windows 10 上。

                    【讨论】:

                      【解决方案13】:

                      我遇到了同样的问题,我通过检查 pip (pip3 --version) 是什么版本来解决它,然后意识到我输入的是 python&lt;uncorrect version&gt; filename.py 而不是 python&lt;correct version&gt; filename.py

                      【讨论】:

                        【解决方案14】:

                        我使用 conda-forge 安装了第 5 版枕头,这似乎对我有用:

                        conda install --channel conda-forge pillow=5
                        

                        普通的 conda 安装枕头对我不起作用。

                        【讨论】:

                          【解决方案15】:

                          在 shell 中,运行:

                          pip install Pillow
                          

                          注意:PIL 已弃用,pillow 是继任者。

                          【讨论】:

                          • 真的吗? image 不是问题的 PIL 模块,而是“Django 应用程序”(恰好是 基于 PIL)。参考:github.com/francescortiz/image.
                          • pip install image 为我工作。感谢duckduckgo缓存保留预编辑答案!
                          • 我在其他地方见过 PILLOW,Pillow 这里。 cmd 不区分大小写,但首选的写法是什么?
                          • 用那个奇怪的 django 东西安装图像让我发现这个脚本至少可以运行。不过,它还不足以测试这个包。
                          • 当我在终端中键入“pip install Pillow”时,出现此错误:要求已经满足:Pillow in c:\users\user\venv\odoo\lib\site-packages (6.2.2 )
                          【解决方案16】:

                          代替 PIL 使用 Pillow 它可以工作

                          easy_install Pillow
                          

                          pip install Pillow
                          

                          【讨论】:

                            【解决方案17】:

                            如果你使用 anaconda:

                            conda install pillow
                            

                            【讨论】:

                            • 我这样做了,还是无法导入PIL
                            • @johnktejik 你用的是哪个版本的 Python 和 Anaconda?
                            【解决方案18】:

                            你必须用你的python包安装Image和pillow。

                            输入

                            python -m pip install image 
                            

                            或运行命令提示符(在 Windows 中),然后导航到脚本文件夹

                            cd C:\Python27\Scripts
                            

                            然后运行下面的命令

                            pip install image
                            

                            【讨论】:

                            • 对于python3使用python3 -m pip install Pillow
                            • 卸载 Pillow 然后安装图像对我有用。
                            【解决方案19】:

                            您需要使用您的 python 包安装 Image 和枕头。 请放心,命令行将为您处理一切。

                            命中

                            python -m pip 安装镜像

                            【讨论】:

                              【解决方案20】:

                              这在 Ubuntu 16.04 上对我有用:

                              sudo apt-get install python-imaging
                              

                              我在Wikibooks搜索了大约半小时后找到了这个。

                              【讨论】:

                              • 这个问题是在 Ubuntu 16.04 之前被问到的,但是我在 Ubuntu 16.04 中遇到了这个问题,并用你的建议解决了这个问题。
                              • 很高兴能帮上忙! :D
                              • 这是我在 RPI 上遇到的问题,OLED 屏幕显示 python 输出
                              • 这解决了我的 Pillow 问题,但我的实际问题是当我在命令行中输入 python 而不是 python3 时使用了 python 2(您可以使用 python -V 进行检查)跨度>
                              【解决方案21】:

                              在 Windows 上,您需要下载并安装 .exe

                              https://pypi.python.org/pypi/Pillow/2.7.0

                              【讨论】:

                                【解决方案22】:

                                另一方面,我强烈推荐使用Pillow,它向后兼容 PIL,维护得更好/将在较新的系统上运行。

                                安装后就可以了

                                import PIL 
                                

                                from PIL import Image
                                

                                等等。

                                【讨论】:

                                • 其他答案都没有解决我遇到的问题,但是这个解决了。
                                【解决方案23】:

                                首先用

                                安装 Pillow
                                pip install Pillow
                                

                                或如下

                                c:\Python35>python -m pip install Pillow
                                

                                然后在python代码中你可以调用

                                from PIL import Image
                                

                                “Pillow 是 Python Imaging Library PIL 的一个分支,不再维护。但是,为了保持向后兼容性,使用了旧的模块名称。”来自pillow installed, but "no module named pillow" - python2.7 - Windows 7 - python -m install pillow

                                【讨论】:

                                • 我的要求已经得到满足,但仍然是同样的问题
                                【解决方案24】:

                                我最近安装了 Leap。我试过openshot,它没有启动。于是来到这里,找到了一个建议从Terminal下手,看看有没有报错。

                                我遇到的错误是error missing mlt。所以我从 Yast 安装了 python-mlt 模块并导入它,试图启动但下一个 openshot 说 missing pil.

                                我按照 Pillow 的建议安装,因为 Yast 找不到任何 pil 和导入的 pil。一切正常,但没有启动并显示Error missing goocanvas

                                我用 Yast 安装了goocanvas,将它导入 python,然后 Openshot 启动了!!

                                终端中有很多错误,例如missing Vimeoclient 和很多attributeerrors。好吧,看看它是否有任何影响。

                                【讨论】:

                                  【解决方案25】:

                                  我在导入 PIL 并进一步导入 ImageTk 和 Image 模块时遇到了同样的问题。我也尝试通过 pip 直接安装 PIL。但不能取得成功。在两者之间,有人建议 PIL 已被弃用,因此,尝试仅通过 pip 安装枕头。枕头已成功安装,进一步,PIL包在路径下制作:python27/Lib/site-packages/。

                                  现在可以导入 Image 和 ImageTk。

                                  【讨论】:

                                    【解决方案26】:

                                    有时我在 python 中运行 Unitest 时会遇到这种类型的错误。解决方案是在您的虚拟环境中卸载并安装相同的包。

                                    使用这个命令:

                                    pip uninstall PIL
                                    

                                    pip install  PIL 
                                    

                                    如果由于任何原因出现错误,请在命令开头添加 sudo,然后按回车键输入密码。

                                    【讨论】:

                                    • 这也适用于我。考虑到可能使用其他间接使用 PIL 的 Python 脚本,更改 Import 语句并不总是一种选择。
                                    • 这对我不起作用,它找不到名为 PIL(或 pil)的存储库。但是我运行了“pip install Pillow”,它确实有效。我的理解是 Pillow 是 PIL 的一个分支。
                                    • @TeeBasins Pillow 是 Alex Clark 和贡献者的“友好 PIL 分支”。
                                    • 我得到“找不到满足 PIL 要求的版本(来自版本:)找不到 PIL 的匹配发行版”
                                    【解决方案27】:

                                    在 Windows 上,尝试检查 PIL 库所在位置的路径。在我的系统上,我注意到路径是

                                    \Python26\Lib\site-packages\pil instead of \Python26\Lib\site-packages\PIL  
                                    

                                    pil 文件夹重命名为PIL 后,我能够加载PIL 模块。

                                    【讨论】:

                                    • 我也遇到了同样的导入错误。我已经使用 easy_install 安装了 PIL。在站点包中,它安装在名称为“PIL-1.1.7-py2.7-win32.egg”的目录中。根据您的建议,我已将目录名称更改为 PIL 并且它有效。感谢您的帮助@Komla。
                                    【解决方案28】:

                                    您可能缺少构建 pil 的 python 头文件。如果您使用的是 ubuntu 或类似的东西,它会像

                                    apt-get install python-dev
                                    

                                    【讨论】:

                                    • 您使用的是什么架构,如果 64 位,您将面临一个痛苦的世界。使用32位版本,使用来自here的非官方预编译版本
                                    • 它是32位的,我已经安装了好几次了,但这次我遇到了这个问题
                                    猜你喜欢
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2013-03-11
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2012-12-07
                                    • 2012-05-23
                                    • 2019-07-29
                                    相关资源
                                    最近更新 更多