无法使用PIL在Mac上打开图像

时间:2019-11-22 20:21:17

标签: python macos python-imaging-library

因此,我有一个简短的python脚本,该脚本接受表示图像的base64字符串,然后打开该图像的预览。

这里是我的脚本:

#!/usr/local/bin/python3

from PIL import Image
import sys
import base64

IMAGE_NAME = "temp.png"

def do_some_stuff(args):
    if len(args) != 2:
        return

    with open(IMAGE_NAME, "wb") as image_file:
        image_file.write(base64.decodebytes(args[1].encode('ascii')))

    image = Image.open(IMAGE_NAME)
    image.show()


if __name__ == '__main__':
    do_some_stuff(sys.argv)

看起来似乎还可以,除了有时间显示我因这个错误而受到欢迎的图像时

FSPathMakeRef(/Applications/Preview.app) failed with error -43.

有人知道为什么会发生此错误或如何解决该错误吗?

1 个答案:

答案 0 :(得分:0)

进一步挖掘之后,似乎来自FSPathMakeRef的错误表明未找到该文件。因此,我查看了我的应用程序文件夹,然后预览就在那里!

当我单击获取信息时,我注意到它位于/System/Applications/文件夹中,而不是/Applications中,因此PIL似​​乎指向了错误的位置。

enter image description here

我的猜测是该应用程序已在Catalina中移动,而PIL尚未更新。

无论如何要修复它,我只是在PIL看起来像这样的地方做了一个符号链接:

ln -s /System/Applications/Preview.app /Applications/Preview.app

它就像一种魅力!