在 windows 台机器上安装 wand
install wand on a windows machine
我尝试在 windows 7(64 位)上安装 wand 0.4.4。
我安装了 imagemagick 二进制文件 (ImageMagick-6.9.3-1-Q16-x64-dll.exe)。
然后设置 MAGICK_HOME 环境变量为 ImageMagick 的路径。
最后,我在 Anaconda (python 2.7.13) 中通过 pip 安装了 wand。
当我 运行 'from wand.image import Image' 我得到以下错误:
----> 2 from wand.image import Image
3 # from PIL import Image as PI
D:\Anaconda2\lib\site-packages\wand\image.py in <module>()
18
19 from . import compat
---> 20 from .api import MagickPixelPacket, libc, libmagick, library
21 from .color import Color
22 from .compat import (binary, binary_type, encode_filename, file_types,
D:\Anaconda2\lib\site-packages\wand\api.pyc in <module>()
178
179 try:
--> 180 libraries = load_library()
181 except (OSError, IOError):
182 msg = 'http://docs.wand-py.org/en/latest/guide/install.html'
D:\Anaconda2\lib\site-packages\wand\api.pyc in load_library()
124 try:
125 tried_paths.append(libwand_path)
--> 126 libwand = ctypes.CDLL(libwand_path)
127 if libwand_path == libmagick_path:
128 libmagick = libwand
D:\Anaconda2\lib\ctypes\__init__.pyc in __init__(self, name, mode, handle, use_errno, use_last_error)
360
361 if handle is None:
--> 362 self._handle = _dlopen(self._name, mode)
363 else:
364 self._handle = handle
TypeError: LoadLibrary() argument 1 must be string, not unicode
怎么了?
What's going wrong?
已报告 here。它很可能会在不久的将来得到修复。
解决方法是更新 api.py
中的两行。
- 找到文件
wand/api.py
文件。
- 搜索在
load_library
函数下调用的方法 ctypes.CDLL
。
- 将 unicode 变量转换为字符串。
- 将
ctypes.CDLL(libwand_path)
更改为ctypes.CDLL(str(libwand_path))
- 将
ctypes.CDLL(libmagick_path)
更改为ctypes.CDLL(str(libmagick_path))
这是一个 Python 2.7.13 问题,将在 2.7.14 版本中关闭,该版本应该在 2017 年年中左右发布;在此日期之前,您可以使用 emcconville 建议的修复程序直接编辑每个所需包的本地库加载或降级到 Python 2.7.12.
问题详情和解决补丁:
我尝试在 windows 7(64 位)上安装 wand 0.4.4。
我安装了 imagemagick 二进制文件 (ImageMagick-6.9.3-1-Q16-x64-dll.exe)。 然后设置 MAGICK_HOME 环境变量为 ImageMagick 的路径。 最后,我在 Anaconda (python 2.7.13) 中通过 pip 安装了 wand。
当我 运行 'from wand.image import Image' 我得到以下错误:
----> 2 from wand.image import Image
3 # from PIL import Image as PI
D:\Anaconda2\lib\site-packages\wand\image.py in <module>()
18
19 from . import compat
---> 20 from .api import MagickPixelPacket, libc, libmagick, library
21 from .color import Color
22 from .compat import (binary, binary_type, encode_filename, file_types,
D:\Anaconda2\lib\site-packages\wand\api.pyc in <module>()
178
179 try:
--> 180 libraries = load_library()
181 except (OSError, IOError):
182 msg = 'http://docs.wand-py.org/en/latest/guide/install.html'
D:\Anaconda2\lib\site-packages\wand\api.pyc in load_library()
124 try:
125 tried_paths.append(libwand_path)
--> 126 libwand = ctypes.CDLL(libwand_path)
127 if libwand_path == libmagick_path:
128 libmagick = libwand
D:\Anaconda2\lib\ctypes\__init__.pyc in __init__(self, name, mode, handle, use_errno, use_last_error)
360
361 if handle is None:
--> 362 self._handle = _dlopen(self._name, mode)
363 else:
364 self._handle = handle
TypeError: LoadLibrary() argument 1 must be string, not unicode
怎么了?
What's going wrong?
已报告 here。它很可能会在不久的将来得到修复。
解决方法是更新 api.py
中的两行。
- 找到文件
wand/api.py
文件。 - 搜索在
load_library
函数下调用的方法ctypes.CDLL
。 - 将 unicode 变量转换为字符串。
- 将
ctypes.CDLL(libwand_path)
更改为ctypes.CDLL(str(libwand_path))
- 将
ctypes.CDLL(libmagick_path)
更改为ctypes.CDLL(str(libmagick_path))
- 将
这是一个 Python 2.7.13 问题,将在 2.7.14 版本中关闭,该版本应该在 2017 年年中左右发布;在此日期之前,您可以使用 emcconville 建议的修复程序直接编辑每个所需包的本地库加载或降级到 Python 2.7.12.
问题详情和解决补丁: