OSError:无法在路径

时间:2017-06-16 10:47:52

标签: operating-system python-imaging-library eps pyzo

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

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

但是当我运行代码时,Pyzo会回复我:`

OSError: Unable to locate Ghostscript on paths

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

我正在研究Python 3

感谢您的帮助,

(哦,我是法国人,所以也许我的英语不是很完美!)

2 个答案:

答案 0 :(得分:3)

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

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

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

  

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

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

我必须重新启动才能使更改生效。

答案 1 :(得分:1)

您需要 ghostscript

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

  2. 告诉变量(EpsImagePlugin.gs_windows_binary)EXE(gswin64cgswin32cgs)的路径。 (如果您不想更改系统路径。

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的原因。