Wand + ImageMagick + Anaconda:“'wand' 没有属性 'image'”

Wand + ImageMagick + Anaconda: "'wand' has no attribute 'image'"

我在同时使用这三个时遇到问题。我相信 wand 无法识别 ImageMagick 库,但我不确定。

环境: Python 3.5.1 :: Anaconda 4.0.0(64 位) Windows7

我接受的设置说明:

  1. 已安装 ImageMagick-6.9.4-Q8 (x64) 与“C/C++ 开发 headers 个选项已选中。 (安装到 C:\Program Files\ImageMagick-6.9.4-Q8)
  2. 设置MAGICK_HOME envar C:\Program Files\ImageMagick-6.9.4-Q8
  3. 从 pip 安装 wand

我的代码:

import wand
...
with wand.image.Image(filename=source_file, resolution=(RESOLUTION, RESOLUTION)) as img:
...

回溯:

    Traceback (most recent call last):
  File ".\pdf_convert.py", line 31, in <module>
    ret = pdf2jpg(f, target_file, 2480)
  File ".\pdf_convert.py", line 10, in pdf2jpg
    with wand.image.Image(filename=source_file, resolution=(RESOLUTION, RESOLUTION)) as img:
AttributeError: module 'wand' has no attribute 'image'

从我所看到的一切来看,我都遵循了正确的设置说明。我正在使用 64 位版本的 ImageMagick 和 64 位版本的 Anaconda。在我开始使用 Anaconda 之前(在我使用常规 32 位 Python 和 32 位 ImageMagick 之前),这一直与我一起工作。)

有什么我想念的吗?为什么魔杖不能正常工作?

试试这个

from wand.image import Image

with Image(filename=source_file, resolution=(RESOLUTION, RESOLUTION)) as img:
    pass

Is there something I'm missing? Why is wand not working correctly?

我相信它按预期工作,原始架构师不打算允许顶级包级快捷方式(即 import wand)。这有点像 integrates to IM with ,并且在 setup.py 期间不会尝试解析库。

您可以通过添加以下内容来修改包以包含您期望的模块快捷方式。

# wand/__init__.py
import api
import color
import compat
import display
import drawing
import exceptions
import font
import image
import resource
import sequence
import version

但我不推荐这个。 from package.module import Class 更干净。

如果您也在使用 PIL.Image 那么请使用:

from wand.image import Image as wand_image_Image
import PIL