1

我已经安装了图像模块http://www.pythonware.com/products/pil/。然后我尝试将它导入python解释器并成功:

>>> import Image
>>> 

但是当我尝试通过 DTML 页面在 Zope 中导入模块时:

DTML 页面如下所示:

<dtml-var import_image>

调用此脚本:

def import_image(self):
    import Image
    im = Image.open("/home/rv/Desktop/blah.jpg")
    return im

然后我得到这个错误:

“ImportError:没有名为 Image 的模块”当我可以在 python 解释器中导入它时,怎么可能没有模块?


编辑

python 脚本位于 Zopes 扩展文件夹中

4

2 回答 2

2

尝试:

import PIL.Image

而不是:

import Image

Zope 有一个 Image 模块,您可能会遇到命名空间冲突。

于 2010-07-22T19:11:29.027 回答
1

您不能只在 zope python 脚本中导入任何模块。Zope 有一些安全限制。在您的情况下,您需要在 %zope-in​​stance%/Extensions 中创建外部方法,

或者您的 zope 实例可能找不到该库,因为它在另一个 python 环境中运行。您应该检查 %zope-in​​stance%/bin/zopectl 中的所有参数是否正确

于 2010-07-21T20:52:41.440 回答