【问题标题】:wand.image Import Error: shared library not found. You probably had not installed ImageMagick librarywand.image 导入错误:找不到共享库。你可能还没有安装 ImageMagick 库
【发布时间】:2022-10-07 17:14:03
【问题描述】:

我正在尝试使用 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

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

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\"

但我仍然遇到同样的错误。

我还尝试了here 列出的解决方案,并确认我正在运行here 中提到的 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
  • 你明白了吗?

标签: python-3.x imagemagick homebrew wand magickwand


【解决方案1】:

尝试在 M1 mac 上运行 Wand 时,我遇到了同样的问题,即使相同的步骤在 x86 系统上也有效。对我有用的解决方案是通过 brew 在 x86 模式下安装 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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多