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

发布于 2024-09-10 16:46:37 字数 627 浏览 6 评论 0原文

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

I have installed the Image module http://www.pythonware.com/products/pil/. I then try and import it in the python interpreter and successfully so:

>>> import Image
>>> 

But when I try to import the module in Zope via DTML page:

DTML page looks like:

<dtml-var import_image>

Which calls this script:

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

I then get this error:

"ImportError: No module named Image" How can there be no module when I can import it in the python interpreter?


EDIT

The python script is in Zopes extension folder

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

简单爱 2024-09-17 16:46:37

尝试:

import PIL.Image

而不是:

import Image

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

Try:

import PIL.Image

rather than:

import Image

Zope has an Image module and you could be encountering a namespace clash.

糖果控 2024-09-17 16:46:37

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

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

You can’t just import any module in zope python script. Zope has some security restrictions. In your case you need create external method in %zope-instance%/Extensions

OR maybe your zope instance cannot find this library because it's running in another python environment. You should check if all parameters are right in %zope-instance%/bin/zopectl

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文