OSError: Unable to locate Ghostscript on paths
Asked Answered
S

2

16

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.

Sharpe answered 16/6, 2017 at 10:47 Comment(1)
This one fixes my issue: tutorialexample.com/… – Prajna
P
10

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.

Pharyngeal answered 13/11, 2017 at 14:44 Comment(1)
All this time I used pip install ghostscript thinking it would yield the same result. Apparently you have to manually download gs and set environment variables. – Repair
R
9

You need ghostscript.

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

  2. 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.

Raeraeann answered 5/8, 2020 at 9:35 Comment(0)

© 2022 - 2024 β€” McMap. All rights reserved.