Python Wand.Image 无法识别。

15

我安装了Imagemagick(尝试了32位和64位版本),然后使用pip安装wand,同时将Magick_Home环境变量设置为Imagemagic地址,但是当我运行时:

Traceback (most recent call last): File "<stdin>", line 1, in <module> File "c:\Anaconda2\lib\site-packages\wand\image.py", line 20, in <module> from .api import MagickPixelPacket, libc, libmagick, library File "c:\Anaconda2\lib\site-packages\wand\api.py", line 205, in <module> 'Try to install:\n ' + msg) ImportError: 找不到MagickWand共享库。 您可能尚未安装ImageMagick库。 尝试安装: http://docs.wand-py.org/en/latest/guide/install.html#install-imagemagick-on-windows


你安装了哪个版本的ImageMagick? - emcconville
从二进制文件中安装ImageMagic 7.0.1-Q16 - c.Parsi
2
啊!你需要6.9.3-9。 - emcconville
1
禁止监管者的解决方案对我有用。请记住,最古老的库目前是6.9.7-10(并且可能会不断更改)。相应地应更改imagemagick的位置(...Cellar/imagemagick@6/6.9.7-10/lib...)。 - user2128704
5个回答

47

对于使用Homebrew的Mac用户来说,似乎像其他答案中提到的那样,Wand尚不支持Imagemagick 7。

有一个新的Homebrew Imagemagick 6公式可以用来在此期间安装旧版本:

brew install imagemagick@6

按照其他答案中提到的方法,创建一个符号链接到这个新安装的dylib文件,以使事情正常运行。

ln -s /usr/local/Cellar/imagemagick@6/<your specific 6 version>/lib/libMagickWand-6.Q16.dylib /usr/local/lib/libMagickWand.dylib

在 Sierra 上经过测试,似乎运行良好。


13
这对我很有效,但我不需要符号链接 - 只需在我的 shell 配置中导出MAGICK_HOME=/usr/local/opt/imagemagick@6即可。 - Greg
@Greg,不知为何将它添加到我的.profile文件中仍然不起作用。 每次都需要在终端上导出它。 我正在使用iterm2。 - majidarif
1
禁止监管解决方案可行。小提示:确保创建正确的符号链接。例如:不要假设您拥有6.9.8-4版本。在我的情况下,它是6.9.9-5_1版本。初学者错误。 - Pullie
1
这是正确的答案。干得好。需要注意的是,截至本文撰写时,Wand与ImageMagick 7不兼容,因此您需要安装imagemagick@6。执行$brew search imagemagick以查看其他版本选项 :) - John Doe
1
这个答案是一小时搜索的结果!谢谢 :) - Josh Clark

18

答案中的链接已过期。以下是截至2016年07月19日最新的 6.x 版本的链接: ImageMagick-6.9.5-2-Q16-x64-dll.exe 谢谢 emcconville - Felix
这个被注释的链接也已经过时了。还有其他来源吗? - majidarif
@majidarif - 导航到链接的父目录以查看所有最新的二进制构建。截至2016年08月17日,版本为ImageMagick-6.9.5-7-Q16-x64-dll.exe - emcconville
是的,我意识到了。谢谢。 - majidarif
1
@Tarocco 请查看C-API重构分支。已经构建了Windows + IM7,但是没有人提供帮助测试。 - emcconville

1

我在Mac上执行时需要这样做(发现Wand在源代码中寻找MAGICK_HOME):

export MAGICK_HOME="/usr/local/Cellar/imagemagick@6/6.9.9-31"

那是在安装图像处理软件ImageMagick的第6版之后。我查看了运行pip3 install Wand后安装的Wand的Python源代码。脚本正在寻找ImageMagick 6(我尝试将7添加到其版本列表中,但出现了“错误版本”的错误)。
brew tap homebrew/versions
brew install imagemagick@6

现在,已安装ImageMagick版本6,并且Wand在$MAGICK_HOME中查找库文件。

0
对于 M1 Mac,您需要的路径是 export MAGICK_HOME="/opt/homebrew/Cellar/imagemagick@6/6.9.12-61"

-1
我找到了一个解决方案。 问题是:
Wand试图在/usr/local/lib/中查找类似于libMagickWand.dylib的文件。
但是,如果您使用Homebrew安装ImageMagick,则生成的文件为libMagickWand-6.Q16.dylib,而Wand永远无法找到它。
因此,您有两个解决方案:
1.将libMagickWand-7.Q16.dylib创建符号链接到libMagickWand.dylib
2.您可以通过MacPorts或从二进制文件进行安装,并测试它们是否创建了该文件。
我已经安装了The Capitan的ImageMagick: http://cactuslab.com/assets/installers/ImageMagick-6.9.1-0.pkg.zip 并声明: export MAGICK_HOME=/opt/ImageMagick

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