11

我尝试用 Pyzo 打开 EPS 图像,我已经安装了 PIL 和 Ghostscript(因为我看到它在其他一些网站主题上是必要的),我的代码是:

from PIL import Image
im = Image.open('''myimage.eps''')
im.show()

但是当我运行代码时,Pyzo 会返回给我:

OSError:无法在路径上找到 Ghostscript

我试图在几个网站上查看它,但对于新手编码学生来说似乎相当复杂。

4

2 回答 2

10

万一其他人遇到此问题:似乎 Ghostscript 尚未正确添加到路径中。对于那些运行Win7的人,这里是一个修复:

转到:控制面板 -> 系统 -> 高级系统设置 -> 环境变量...

找到变量“PATH” -> 编辑... -> 将路径添加到您的 ghostscript 二进制文件夹,例如

C:\Program Files\gs\gs9.22\bin\;

到变量的末尾。它应该用分号与前一个条目分开。

I had to restart for the changes to take effect.

于 2017-11-13T14:44:50.333 回答
7

你需要ghostscript

  1. 下载:https ://www.ghostscript.com/download/gsdnld.html

  2. 告诉变量 ( EpsImagePlugin.gs_windows_binary) 它是什么 EXE( gswin64c, gswin32c, gs) 的路径。(如果您不想更改系统路径。

from PIL import EpsImagePlugin
EpsImagePlugin.gs_windows_binary =  r'X:\...\gs\gs9.52\bin\gswin64c'
im = Image.open('myimage.eps')
im.save('myimage.png')

您可以在PIL.EpsImagePlugin.py上看到以下内容

# EpsImagePlugin.py

__version__ = "0.5"

...

gs_windows_binary = None  # 

def Ghostscript(tile, size, fp, scale=1):
    """Render an image using Ghostscript"""

    ...

    if gs_windows_binary is not None:
        if not gs_windows_binary:   # 
            raise WindowsError("Unable to locate Ghostscript on paths")
        command[0] = gs_windows_binary

所以这就是为什么我告诉你设置gs_windows_binary遗嘱的原因。

于 2020-08-05T09:35:27.033 回答