我试图在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 .
当我从'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
出了什么问题?
2 回答
这是一个Python 2.7.13问题,将于2.7.14发布,将于2017年中左右发布;在此日期之前,您可以使用emcconville建议的修复程序直接编辑每个所需包的本机库加载或降级到Python 2.7.12 .
发布详细信息和结算补丁:
https://hg.python.org/cpython/rev/4ce22d69e134
据报道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))