Python无法找到MagickWand库(尽管位置正确?)

11

我想安装Python的ImageMagick API库wand,并按照这个网站进行操作:

http://docs.wand-py.org/en/latest/guide/install.html#install-imagemagick-on-windows

然而,当运行一个非常简单的测试时:

from wand.image import Image

我得到了以下输出:

Traceback (most recent call last):

File "F:\PATHTO\Python34\lib\site-packages\wand\api.py", line 137, in libraries = load_library()

File "F:\PATHTO\Python34\lib\site-packages\wand\api.py", line 107, in load_library raise IOError('cannot find library; tried paths: ' + repr(tried_paths))

OSError: cannot find library; tried paths: ['F:\PATHTO\ImageMagick-6.8.9-Q16\CORE_RL_wand_.dll', 'F:\PATHTO\ImageMagick-6.8.9-Q16\CORE_RL_wand_HDRI.dll', 'F:\PATHTO\ImageMagick-6.8.9-Q16\CORE_RL_wand_-Q16.dll', 'F:\PATHTO\ImageMagick-6.8.9-Q16\CORE_RL_wand_-Q16HDRI.dll', 'F:\PATHTO\ImageMagick-6.8.9-Q16\CORE_RL_wand_-Q8.dll', 'F:\PATHTO\ImageMagick-6.8.9-Q16\CORE_RL_wand_-Q8HDRI.dll', 'F:\PATHTO\ImageMagick-6.8.9-Q16\CORE_RL_wand_-6.Q16.dll', 'F:\PATHTO\ImageMagick-6.8.9-Q16\CORE_RL_wand_-6.Q16HDRI.dll']

在处理以上异常时,出现了另一个异常:

Traceback (most recent call last): File "D:\PATHTO\Python\test.py", line 1, in import wand.image

File "F:\PATHTO\Python34\lib\site-packages\wand\image.py", line 20, in from .api import MagickPixelPacket, libc, libmagick, library

File "F:\PATHTO\Python34\lib\site-packages\wand\api.py", line 161, in 'Try to install:\n ' + msg)

ImportError: 找不到MagickWand共享库。 您可能未安装ImageMagick库。 尝试安装: http://docs.wand-py.org/en/latest/guide/install.html#install-imagemagick-on-windows

问题在于,尝试查找的文件(例如CORE_RL_wand_.dll)实际上在它们被认为不存在的地方。 因此,看起来我正确设置了MAGICK_HOME环境变量。

然而(似乎显示不正确的是),我的命令行中显示的wand api和Python安装路径使用单个反斜杠,而ImageMagick文件夹的路径显示为两个反斜杠。

我不明白为什么会这样(环境变量使用与链接站点中相同的单个反斜杠),也不知道这是否是问题,甚至是否相关。

5个回答

21

我思考后解决了自己的问题 ;)

我使用的是32位Python版本和64位ImageMagick版本...在卸载ImageMagick并安装32位版本后,一切都正常了。

也许这能帮助一些通过Google搜索到这里且遇到同样问题的人^^


你如何安装32位版本? - user2012677

8

我遇到了类似的问题,检查了已安装的系统架构并匹配Python 3.x,但仍然无法使用。通过以下几个步骤我成功使其工作,我将其整理在这里供有类似问题的人参考。

一些来源说Image Magick 7.x不与 Magick Wand 兼容,所以请确保您使用的是6.x版本。此外,“static”后缀版本也不可用。最终成功的版本是“ImageMagick-6.9.8-10-Q8-x64-dll.exe”。


1
出现了与7.0.7-19完全相同的问题,通过安装6.9.9-13 dll进行修复。 - m-dz
你能分享一下资源吗,从哪里可以下载6.9.9-13-dll版本?因为目前ImageMagick网页上似乎只有Magick 7.x版本。 - shubham
@shubham 这也是我的问题。请从这里使用遗留版本(当前为6.9.11-34)https://legacy.imagemagick.org/。 - Andrew

1
我遇到了类似的问题,但安装ImageMagick-6.9.x-x-Q16-x64-dll.exe解决了问题...因此很明显ImageMagick-6.9.10-11-Q16-x64-static.exe似乎无法正常工作...Python和安装程序的架构仅支持64位......请卸载ImageMagick-6.9.10-11-Q16-x64-static.exe,然后安装ImageMagick-6.9.x-x-Q16-x64-dll.exe。

1

仅供参考,这也适用于另一种情况(在我的情况下),我使用64位Python和32位Imagemagick出现了相同的错误。Python架构(32位或64位)似乎必须与ImageMagick匹配。但请注意,Ghostscript可以是32位并且仍然可以工作。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接