使用PyDev的PIL模块

1 投票
2 回答
1601 浏览
提问于 2025-04-17 14:48

我刚开始学习Python和Google App Engine,但在安装和兼容性方面遇到了麻烦。我用的是Mac OS X和Eclipse Helios,并且安装了pyDev插件,但尽管如此,我还是遇到了错误……

每当我在终端中尝试导入PIL时,没有出现任何错误,这意味着它安装成功了。但是当我在Eclipse文件中使用相同的导入时,却出现了编译错误,错误信息是:

 "Unresolved Import"

请帮帮我。

我试着修复这个问题,但它给我提示说:imaging:在通用包装器中没有匹配的架构。

当我把架构改成32位时,Eclipse日志中出现了这个信息:

Traceback (most recent call last):
  File "/Users/Vinay/Documents/EclispeHeliosWorkspace/helloworld/Main.py", line 7, in <module>
    im.show()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/Image.py", line 1483, in show
    _show(self, title=title, command=command)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/Image.py", line 2123, in _show
    apply(_showxv, (image,), options)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/Image.py", line 2127, in _showxv
    apply(ImageShow.show, (image, title), options)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/ImageShow.py", line 41, in show
    if viewer.show(image, title=title, **options):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/ImageShow.py", line 66, in show
    self.show_image(image, **options)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/ImageShow.py", line 85, in show_image
    return self.show_file(self.save_image(image), **options)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/ImageShow.py", line 81, in save_image
    return image._dump(format=self.get_format(image))
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/Image.py", line 488, in _dump
    self.load()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/ImageFile.py", line 164, in load
    self.load_prepare()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/ImageFile.py", line 231, in load_prepare
    self.im = Image.core.new(self.mode, self.size)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/Image.py", line 37, in __getattr__
    raise ImportError("The _imaging C module is not installed")
ImportError: The _imaging C module is not installed

我该怎么办 :( ?

2 个回答

0

我刚在 OS X 10.8.5 Mountain Lion 上安装了 Pillow(使用命令:sudo pip install Pillow),这样就可以在 Python 2.7.6 中使用 PIL 了。

我在 Eclipse Kepler 的 PyDev 中也遇到了同样的问题。要解决这个问题,按照以下步骤操作:

首先,打开:

Eclipse -> 偏好设置 -> PyDev -> 解释器 - Python -> 库,然后点击“新建文件夹”。

接着,找到:

/Library/Python/2.7/site-packages

然后点击打开,再点击应用,最后点击确定。

之后我退出了 Eclipse 并重新启动,问题就解决了。 :)

1

PIL的安装有一些特别的步骤。你看过这些步骤吗?

在GAE上安装PIL

  1. 下载PIL的.dmg文件。比如,你可以从http://pythonmac.org/packages/py25-fat/index.html下载PIL 1.1.6的.dmg文件。
  2. 双击安装程序,开始安装。
  3. 选择正确的目录,然后完成安装。

这些步骤只是为了在你本地的开发环境中使用。当你上传的时候,会使用GAE提供的PIL版本,这意味着你还需要像这样更新你的app.yaml文件:

libraries:
- name: PIL
  version: "1.1.7"

详细信息可以在这里找到。

如果我没记错的话,你需要把它安装在你的应用程序目录里面,这样你的应用程序才能在本地访问。不过在MAC上我不太确定。

撰写回答