实际使用元组时PIL.Image.paste中的元组错误

时间:2014-03-05 17:36:38

标签: python python-imaging-library osx-mavericks pillow

这个错误有点棘手,因为我使用的代码在我的其他系统上运行没问题。我今天在一台新机器上安装了这些库,并且在尝试运行我的代码时遇到了错误(适用于其他OSX 10.9机器)。

Traceback (most recent call last):
  File "proofer.py", line 295, in <module>
    main()
  File "proofer.py", line 286, in main
    save_target = composite1(proof1)
  File "proofer.py", line 170, in composite1
    blank_canvas.paste(proof.sized, (paste_width, paste_height))
  File "/Library/Python/2.7/site-packages/PIL/Image.py", line 1103, in paste
    self.im.paste(im, box)
SystemError: new style getargs format but argument is not a tuple

它引用的代码位于

之下
blank_canvas.paste(proof.sized, (paste_width, paste_height))

proof.sized是一个PIL.Image对象,如下所示:

proof.sized=proof.image.resize(tuple([int(des_xx), int(des_yy)]), Image.BICUBIC)

在这种情况下,似乎我的错误消息不正确,因为问题不是我对im.paste()的第二个参数的元组。从我所做的研究来看,似乎很多人都在接受这种反馈,无论他们的问题究竟是什么。

所以......我在这里错过了什么?这段代码运行在我的其他系统上。我怎么能搞清楚这一点?

1 个答案:

答案 0 :(得分:0)

尝试安装Pillowsudo pip install Pillow)并重新运行代码。 PIL的开发在1.1.7版本停止。 Pillow是PIL的一个分支(目前版本为2.3.0),包括所有原始功能,但也有许多改进。如果这是PIL中的一个错误,它很可能已经在Pillow中得到了解决。