4

我刚刚在我的 virtualenv 中安装了一个 Pillow 包。这样做:

from PIL import Image, ImageFont, ImageDraw
ImageFont.load_path('some_path')

我收到一个错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/net/isilonP/public/rw/homes/cbl_adm/.virtualenvs/chembl_webservices/lib/python2.7/site-packages/PIL/ImageFont.py", line 264, in load_path
    if not isinstance(filename, "utf-8"):
TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types

事实上,如果你查看官方 gihub 存储库(https://github.com/python-imaging/Pillow/blob/master/PIL/ImageFont.py#L264),你可以看到这个结构:

if not isinstance(filename, "utf-8"):
    ...

我的问题是:如何用实际有效的东西替换它?

4

1 回答 1

2

有人忽略了测试该方法;正确的咒语是:

if not isinstance(filename, str):
    # ...

因为对于 Python 2 和 Python 3,其余代码继续将其转换为,。str

在与 IRC 的维护者交谈后,我发出了拉取请求。

更新:补丁现已合并。

于 2013-07-25T17:23:43.773 回答