我尝试用 Pyzo 打开 EPS 图像,我已经安装了 PIL 和 Ghostscript(因为我看到它在其他一些网站主题上是必要的),我的代码是:
from PIL import Image
im = Image.open('''myimage.eps''')
im.show()
但是当我运行代码时,Pyzo 会返回给我:
OSError:无法在路径上找到 Ghostscript
我试图在几个网站上查看它,但对于新手编码学生来说似乎相当复杂。
我尝试用 Pyzo 打开 EPS 图像,我已经安装了 PIL 和 Ghostscript(因为我看到它在其他一些网站主题上是必要的),我的代码是:
from PIL import Image
im = Image.open('''myimage.eps''')
im.show()
但是当我运行代码时,Pyzo 会返回给我:
OSError:无法在路径上找到 Ghostscript
我试图在几个网站上查看它,但对于新手编码学生来说似乎相当复杂。
万一其他人遇到此问题:似乎 Ghostscript 尚未正确添加到路径中。对于那些运行Win7的人,这里是一个修复:
转到:控制面板 -> 系统 -> 高级系统设置 -> 环境变量...
找到变量“PATH” -> 编辑... -> 将路径添加到您的 ghostscript 二进制文件夹,例如
C:\Program Files\gs\gs9.22\bin\;
到变量的末尾。它应该用分号与前一个条目分开。
I had to restart for the changes to take effect.
你需要ghostscript。
告诉变量 ( 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
遗嘱的原因。