python報錯: OSError: Unable to locate Ghostscript on paths
1.問題描述
這个錯誤出現在我根據 python 極客項目編程 一書的萬花尺一節, 使用pillow模凷保存png圖像時, 導致turtle的繪圖僅保存爲.eps格式文件, 而無法生成.png文件.
2.問題解決
參照網絡上的解決方案, 首先要安裝ghostscript這个軟件, 這个gs的作用簡化來說就是一个兼容于.ps/.eps格式文件的圖像處理引擎, 可進行格式轉化(到pdf/到png等), 在下載界面按操作系統選擇相應版本:
ghostscript 官網下載鏈接
下載後安裝, 記住它的安裝路徑, 找到bin這个子目錄, 如在我的系統中, 如下:
此時, 有用的可執行程序的絕對路徑是:
C:\Program File\gs\gs9.56.1\bin\gswinc64.exe
接下來, 有兩種可選思路解決問題:
1.將這个可執行程序的路徑添加到系統變量PATH, 步驟略, 我沒用這个方法, 因爲我的系統變量夠亂的了;
2.在代碼中指明這个路徑, 好處就是不折騰系統變量, 修改相應代碼, 如下:
import turtle
from PIL import Image, EpsImagePlugin # 導入Eps類, 要用到其中屬性# ...中間代碼省略...# 指定gs.exe路徑
EpsImagePlugin.gs_windows_binary = r'C:\Program Files\gs\gs9.56.1\bin\gswin64c.exe'
dateStr = (datetime.now()).strftime("%d%m%Y-%H%M%S")
fileName = 'spiro-' + dateStr # 創建惟一文件名
print('正在保存爲 %s.eps/png' % fileName)
canvas = turtle.getcanvas()
canvas.postscript(file=fileName + '.eps')
img = Image.open(fileName + '.eps')
img.save(fileName + '.png', 'png') # 將.eps文件轉化爲png文件# ...後續代碼省略...
先指定gs.exe的文件路徑, 這樣pillow模凷才可以完成格式轉化.
這一操作也同時解決了在保存圖片過程中, 產生的權限報錯:
PermissionError: [WinError 5] Access is denied, 正常來說, 這个錯誤不應該由pillow引起, 這一點還沒有完全理解...
python報錯: OSError: Unable to locate Ghostscript on paths相关推荐
- python报错invalid,Python 報錯 SyntaxError: invalid syntax 解決方法
C:\Users\liushuang\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/liushuang/PycharmPr ...
- selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)
selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素) 参考文章: (1)selenium+python,解 ...
- 【Python|hdf5】OSError: Unable to open file 解决方法
文章目录 问题一 报错输出 解决方法 方法一 方法二 问题二 报错输出 解决方法 参考链接 问题一 报错输出 OSError: Unable to open file (unable to lock ...
- OSError: Unable to download 'ffmpeg.win32.exe'. Perhaps there is a no internet connection? If there
OSError: Unable to download 'ffmpeg.win32.exe'. Perhaps there is a no internet connection? If there ...
- Selenium Xpath元素无法定位 NoSuchElementException: Message: no such element: Unable to locate element
用的佳哥的python基于selenium的学习通健康自动填报 但是今天突然报错了. Error Message Message: no such element: Unable to locate ...
- Docker报错:E: Unable to locate package python3
报错 docker构建镜像报错: [root@sanxingtongxue ~]# docker build -t hello:v1 . Sending build context to Docker ...
- DL | TensorRT将Tensorflow模型转换为uff格式 报错Unable to locate package uff-converter-tf
前情概要:尝试用Nvidia的tensorRT加速模型,生成tf的pb模型后,用uff的python工具包进一步转换模型时,出现错误. 实验环境:TensorRT 5.0+CUDA10.0的nvidi ...
- selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate elemen
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate elemen ...
- oracle11g ora00838,管理oracle11g內存設置 解決ora-02097 ora-00838 ora-00845報錯問題
Oracle對內存的管理的 優化從未間斷,從8i到11g不斷地提出新的管理概念.每個本版都對內存管理進行了簡化:1.8i->9i:PGA的自動管理;2.9i->10g:SGA的自動管理;3 ...
- Unable to locate Spring NamespaceHandler for XML schema namespace [http://cxf.apache.org/jaxws]
利用cxf调试webservice接口的时候出现下面的错误 error:Unable to locate Spring NamespaceHandler for XML schema namespac ...
最新文章
- SPI时钟极性、时钟相位及片选
- springboot2处理跨域
- Shell-06 函数
- OC对象的本质及分类
- Spring Bean的作用域及生命周期
- vc设置按钮文字颜色
- php中生成标准uuid(guid)的方法
- 玩转小程序转发——小程序探索
- 笔记本电脑处理器_高通提示低成本5G芯片更强大的笔记本电脑处理器
- (转) RabbitMQ学习之延时队列
- Android使用帧动画解决内存溢出问题
- caxa线切割怎样画链轮_在CAXA中怎么画链轮啊?
- GIF图像格式简介(87a和89a)(C语言生成GIF图像)
- 前后端分离项目,有什么优缺点
- 【GPU精粹与Shader编程】(四) 《GPU Gems 2》全书核心内容提炼总结 · 上篇
- STM32F411RET6的定时器和STM32F103ZET6定时器比较
- Dojo学习笔记一: 认识Dojo
- 使用URLRewriter进行URL重写失效
- 看别人分享的图片停不下来,还有这么有意思的网站?
- 概率论阶段测评计算机,概率论与数理统计(计算机)
热门文章
- 计算机职高会考知识,高职考试语文基础知识
- Ubuntu下载与安装
- ASML EUV 光源的极限工程
- 黑暗料理-花菜+肉丝+木耳
- flutter图片识别_想在 flutter 中提取图片颜色?试试 color_thief_flutter
- python羊车门问题的正确解答
- java合并word文档和添加分节符
- 什么是Windows驱动程序?
- [4G5G专题-38]:物理层- LTE/NR下行公共控制信道PDCCH与其承载的内容下行控制信息格式DCI
- 转:Django新手需要注意的10个要点