2017-03-07 184 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