魔杖.图像导入错误:没有找到共享库.您可能没有安装ImageMagick库 &g



我正在尝试使用PDFPlumber库,它使用Wand的图像格式。但是,当尝试运行:

from wand.image import Image

我得到这个错误:

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/wand/api.py", line 151, in <module>
libraries = load_library()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/wand/api.py", line 140, in load_library
raise IOError('cannot find library; tried paths: ' + repr(tried_paths))
OSError: cannot find library; tried paths: ['/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWandHDRI.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWandHDRI-2.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-7.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-7HDRI.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-7HDRI-2.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-7.Q8.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-7.Q8HDRI.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-7.Q8HDRI-2.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-7.Q16.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-7.Q16HDRI.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-7.Q16HDRI-2.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-6.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-6HDRI.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-6HDRI-2.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-Q16.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-Q16HDRI.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-Q16HDRI-2.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-Q8.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-Q8HDRI.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-Q8HDRI-2.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-6.Q16.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-6.Q16HDRI.dylib', '/opt/homebrew/opt/imagemagick@6/lib/lib/libMagickWand-6.Q16HDRI-2.dylib']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/wand/api.py", line 177, in <module>
'Try to install:n  ' + msg)
ImportError: MagickWand shared library not found.
You probably had not installed ImageMagick library.
Try to install:
brew install freetype imagemagick

我第一次尝试正常安装:

pip3 install wand
brew install imagemagick

然后,我尝试使用这里列出的方法,并尝试了以下方法:

pip3 install wand
brew uninstall imagemagick
brew install imagemagick@6
brew unlink imagemagick && brew link imagemagick@6
export MAGICK_HOME="/opt/homebrew/opt/imagemagick@6/"
export PATH="/opt/homebrew/opt/imagemagick@6/bin:$PATH"

但是我仍然得到相同的错误。

我也尝试了这里列出的解决方案,并确认我正在运行这里提到的64位python 3.7。我该如何解决这个问题?我特别困惑,因为运行后:

cd /opt/homebrew/opt/imagemagick@6/lib
ls

我可以看到/opt/homebrew/opt/imagemagick@6/lib/libMagickWand-6.Q16.dylib是Wand期望的位置(在上面错误中的尝试路径中列出):

ImageMagick                     libMagickCore-6.Q16.7.dylib     libMagickWand-6.Q16.a
libMagick++-6.Q16.9.dylib       libMagickCore-6.Q16.a           libMagickWand-6.Q16.dylib
libMagick++-6.Q16.a             libMagickCore-6.Q16.dylib       libMagickWand-6.Q16.la
libMagick++-6.Q16.dylib         libMagickCore-6.Q16.la          pkgconfig
libMagick++-6.Q16.la            libMagickWand-6.Q16.7.dylib

当我尝试在M1 mac上运行Wand时,我遇到了同样的问题,尽管相同的步骤在x86系统上工作。对我来说有效的解决方案是在x86模式下通过brew安装ImageMagick:

alias brew86="arch -x86_64 /usr/local/bin/brew"
brew86 install imagemagick
# get imagemagick installation path
brew86 info imagemagick
export MAGICK_HOME=/usr/local/Cellar/imagemagick/7.1.0-49_1 
export PATH="$MAGICK_HOME/bin:$PATH"

我在Mac M1机器上也面临同样的问题。我只设置了ENV变量检查完brew info imagemagick命令后,如下所示。没有必要重新安装imagemigick为arch -x86_64,至少对我来说,在Mac M1操作系统Monterey 12.6

出口MAGICK_HOME =/opt/组装/地窖/imagemagick/7.1.0-51导出路径="MAGICK_HOME美元/bin: PATH&quot美元;

和它工作良好。

最新更新