ImportError:没有名为Image的模块,ImportError:没有名为PIL的模块--Python,Anaconda,PIL,pillow,mac 10.10.3,

时间:2015-06-24 01:24:36

标签: macos python-2.7 python-imaging-library anaconda pillow

我正在使用Mac OS x 10.10.3 Yosemite和Python 2.7.9 | Anaconda 2.2.0(x86_64)来处理很多python的东西。我正在使用eclipse和谷歌应用引擎。

我已经没有堆栈溢出帖子来读取很多人都有的错误,然后通过某种方式解决这个问题对我不起作用。

我收到了这个错误:

    导入图片     ImportError:没有名为Image

的模块

从此代码:

try:
    from PIL import Image
except:
    import Image

在我尝试了以下内容之后:

conda install pillow
sudo pip install pillow
pip install pillow
pip install pil

某些堆栈溢出帖子建议查看该路径是否适用于其他用户,所以我在终端中尝试了这个:

python
Python 2.7.9 |Anaconda 2.2.0 (x86_64)| (default, Dec 15 2014, 10:37:34) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
>>> import sys
>>> print(sys.path)

并得到:

['', 
'/Users/jrussek/anaconda/lib/python27.zip',
'/Users/jrussek/anaconda/lib/python2.7',
'/Users/jrussek/anaconda/lib/python2.7/plat-darwin', 
'/Users/jrussek/anaconda/lib/python2.7/plat-mac', 
'/Users/jrussek/anaconda/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/jrussek/anaconda/lib/python2.7/lib-tk',
'/Users/jrussek/anaconda/lib/python2.7/lib-old',
'/Users/jrussek/anaconda/lib/python2.7/lib-dynload',
'/Users/jrussek/anaconda/lib/python2.7/site-packages',
'/Users/jrussek/anaconda/lib/python2.7/site-packages/Sphinx-1.2.3 py2.7.egg', 
'/Users/jrussek/anaconda/lib/python2.7/site-packages/aeosa', 
'/Users/jrussek/anaconda/lib/python2.7/site-packages/cryptography-0.8-py2.7-macosx-10.5-x86_64.egg', 
'/Users/jrussek/anaconda/lib/python2.7/site-packages/setuptools-14.3-py2.7.egg']

我认为这不在我的路上所以我试图追加这个东西:

 PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL

看起来不像是出现了。

所以我尝试以10种不同的方式卸载和重新安装。我只是为了枕头,而不是PIL那样做,因为我为PIL尝试了不同的东西,看了很多帖子说使用枕头,而不是PIL,因为PIL已被弃用。

无论如何,对于枕头我一直得到:

Requirement already up-to-date: pillow in ./anaconda/lib/python2.7/site-packages

显然枕头已安装在anaconda中,但这无助于我一直得到的导入错误。

然后我尝试了conda安装枕头,

它升级了一些东西:

但是..我尝试再次运行我的代码,无论我尝试使用哪种导入语句,我仍然没有找到任何模块。

连连呢?请?任何人吗?

5 个答案:

答案 0 :(得分:10)

以下内容对我有用:

from PIL import Image

这不起作用:

import Image

枕套

$ conda search pillow
Fetching package metadata: ....
pillow                       2.1.0                    py33_0  defaults        
                             2.1.0                    py27_0  defaults        
                             2.1.0                    py26_0  defaults        
                             2.3.1                    py34_0  defaults        
                             2.3.1                    py33_0  defaults        
                             2.3.1                    py27_0  defaults        
                             2.3.1                    py26_0  defaults        
                             2.4.0                    py34_0  defaults        
                             2.4.0                    py33_0  defaults        
                             2.4.0                    py27_0  defaults        
                             2.4.0                    py26_0  defaults        
                          .  2.5.1                    py34_0  defaults        
                             2.5.1                    py33_0  defaults        
                             2.5.1                    py27_0  defaults        
                             2.5.1                    py26_0  defaults        
                             2.7.0                    py34_0  defaults        
                             2.7.0                    py33_0  defaults        
                             2.7.0                    py27_0  defaults        
                             2.7.0                    py26_0  defaults        
                             2.7.0                    py34_1  defaults        
                             2.7.0                    py33_1  defaults        
                             2.7.0                    py27_1  defaults        
                             2.7.0                    py26_1  defaults        
                             2.8.1                    py34_1  defaults        
                             2.8.1                    py33_1  defaults        
                             2.8.1                    py27_1  defaults        
                             2.8.1                    py26_1  defaults        
                             2.8.1                    py34_2  defaults        
                             2.8.1                    py33_2  defaults        
                             2.8.1                    py27_2  defaults        
                             2.8.1                    py26_2  defaults        
                             2.8.2                    py34_0  defaults        
                             2.8.2                    py33_0  defaults        
                             2.8.2                    py27_0  defaults        
                             2.8.2                    py26_0  defaults        
                          *  2.9.0                    py34_0  defaults        
                             2.9.0                    py33_0  defaults        
                             2.9.0                    py27_0  defaults        
                             2.9.0                    py26_0  defaults  

Python路径

$ python
Python 3.4.3 |Anaconda 2.1.0 (x86_64)| (default, Mar  6 2015, 12:07:41) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print (sys.path)
['', '/Users/erwin/anaconda/lib/python34.zip', '/Users/erwin/anaconda/lib/python3.4', '/Users/erwin/anaconda/lib/python3.4/plat-darwin', '/Users/erwin/anaconda/lib/python3.4/lib-dynload', '/Users/erwin/anaconda/lib/python3.4/site-packages', '/Users/erwin/anaconda/lib/python3.4/site-packages/Sphinx-1.3.1-py3.4.egg', '/Users/erwin/anaconda/lib/python3.4/site-packages/setuptools-18.1-py3.4.egg']

图片使用

现在我的终端和Eclipse PyDev都可以使用。

>>> from PIL import Image
>>> a = Image.new("RGB", (512,512), "red")
>>> a.show()

答案 1 :(得分:5)

首先,尝试使用(大写字母P)安装枕头

pip install Pillow
然后使用     来自PIL导入图片 “Pillow是PIL的一个分支,即Python成像库,它不再被维护。但是,为了保持向后兼容性,使用了旧的模块名称。”来自:pillow installed, but "no module named pillow" - python2.7 - Windows 7 - python -m install pillow

答案 2 :(得分:4)

更新版的枕头已经改变了#34;图像"为:

from PIL.Image import core as image

答案 3 :(得分:0)

我至少和你一样处于同样的位置,而且我设法通过其他解决方案解决了这个问题。然后又破了。以下是我所做的修复它:

打开两个取景器窗口。

在其中一个中,导航至:

//anaconda/pkgs/pillow-3.2.0-py27_0/lib/python2.7/site-packages

在此文件夹中,您将找到文件夹

PIL

复制此文件夹并将其粘贴到可访问的位置。

现在打开anaconda目录中的python 2.7环境文件夹。对我来说,它是:

//anaconda/envs/py27/lib/python2.7/site-packages

您只需要更改" py27"在那。

即使已经有一个名为" PIL"的文件夹,也可以将复制的PIL放在新的site-packages文件夹中。据我所知,现有的PIL文件夹中存在旧的或错误的东西。或枕头没有正确安装。我认为这相当于手动安装python模块。超级好玩。

答案 4 :(得分:0)

我遇到了与OP相同的问题:

  • macOS 10.12.5
  • Python 2.7.13 [GCC 4.2.1兼容的Apple LLVM 8.1.0(clang-802.0.38)]在darwin上

问题最终成为我试图运行的 .py 文件。

在脚本的顶部有一个shebang#!/usr/bin/python

然而,我的默认python不会从系统安装运行。我使用homebrew来升级python,所以我的默认路径是:

$ which python
/usr/local/bin/python

我将顶部的shebang更改为#!/usr/local/bin/python,然后我就可以运行我的脚本(调用from PIL import Image)。