Python和Zope:模块将在python中导入,但不在zope中导入

时间:2010-07-21 20:03:10

标签: python zope

我已经安装了Image模块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扩展文件夹

2 个答案:

答案 0 :(得分:2)

尝试:

import PIL.Image

而不是:

import Image

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

答案 1 :(得分:1)

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

OR 也许你的zope实例找不到这个库,因为它在另一个python环境中运行。您应该检查%zope-in​​stance%/ bin / zopectl

中的所有参数是否正确