2017-03-07 83 views
0

我试图在Windows 7(64位)上安装魔杖0.4.4。在Windows机器上安装魔杖

我安装了imagemagick二进制文件(ImageMagick-6.9.3-1-Q16-x64-dll.exe)。 然后将MAGICK_HOME环境变量设置为ImageMagick的路径。 最后,我通过Pip在Anaconda(python 2.7.13)中安装了魔杖。

当我“从wand.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 

什么错?

回答

3

What's going wrong?

这已被报告here。它很可能会在不久的将来得到修复。

修复方法是更新api.py中的两行。

  1. 找到文件wand/api.py文件。
  2. 搜索方法ctypes.CDLLload_library函数下调用。
  3. 将unicode变量转换为字符串。
    1. 变化ctypes.CDLL(libwand_path)ctypes.CDLL(str(libwand_path))
    2. 变化ctypes.CDLL(libmagick_path)ctypes.CDLL(str(libmagick_path))
+0

谢谢!我后来发现报告的问题,并解决了问题。 – essi

0

这是一个Python 2.7.13问题,将与2.7.14版本中关闭,这应该出来中旬左右2017年;在此日期之前,您可以使用emcconville建议的修复,直接编辑每个必需软件包的本机库加载或降级到Python 2.7.12。

问题的细节和解决补丁上:

https://hg.python.org/cpython/rev/4ce22d69e134