I tried to open an EPS image with Pyzo, I have installed PIL and Ghostscript (as I saw that it is necessary on some other website topics), my code is:
from PIL import Image
im = Image.open('''myimage.eps''')
im.show()
but when I run the code, Pyzo return me:
OSError: Unable to locate Ghostscript on paths
I tried to look into it on several websites but it seems pretty complicated for a novice coding student.
In case someone else encounters this issue: It seems that Ghostscript has not been added to the paths properly. For those running Win7, here is a fix:
Go to: Control Panel -> System -> Advanced system settings -> Environment Variables...
Find the variable "PATH" -> Edit... -> add the path to your ghostscript binary folder, e.g.
C:\Program Files\gs\gs9.22\bin\;
to the end of the variable. It should be separated from the previous entry by a semicolon.
I had to restart for the changes to take effect.
You need ghostscript.
download: https://www.ghostscript.com/download/gsdnld.html
Tell the variable(EpsImagePlugin.gs_windows_binary
) what the path of EXE(gswin64c
, gswin32c
, gs
) it is. (If you don't want to change the system path.)
from PIL import EpsImagePlugin
EpsImagePlugin.gs_windows_binary = r'X:\...\gs\gs9.52\bin\gswin64c'
im = Image.open('myimage.eps')
im.save('myimage.png')
You can see the following on 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
So that's why I tell you to set the gs_windows_binary
will work.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With