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相关推荐

  1. python报错invalid,Python 報錯 SyntaxError: invalid syntax 解決方法

    C:\Users\liushuang\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/liushuang/PycharmPr ...

  2. selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)

    selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素) 参考文章: (1)selenium+python,解 ...

  3. 【Python|hdf5】OSError: Unable to open file 解决方法

    文章目录 问题一 报错输出 解决方法 方法一 方法二 问题二 报错输出 解决方法 参考链接 问题一 报错输出 OSError: Unable to open file (unable to lock ...

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

  5. Selenium Xpath元素无法定位 NoSuchElementException: Message: no such element: Unable to locate element

    用的佳哥的python基于selenium的学习通健康自动填报 但是今天突然报错了. Error Message Message: no such element: Unable to locate ...

  6. Docker报错:E: Unable to locate package python3

    报错 docker构建镜像报错: [root@sanxingtongxue ~]# docker build -t hello:v1 . Sending build context to Docker ...

  7. DL | TensorRT将Tensorflow模型转换为uff格式 报错Unable to locate package uff-converter-tf

    前情概要:尝试用Nvidia的tensorRT加速模型,生成tf的pb模型后,用uff的python工具包进一步转换模型时,出现错误. 实验环境:TensorRT 5.0+CUDA10.0的nvidi ...

  8. selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate elemen

    selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate elemen ...

  9. oracle11g ora00838,管理oracle11g內存設置 解決ora-02097 ora-00838 ora-00845報錯問題

    Oracle對內存的管理的 優化從未間斷,從8i到11g不斷地提出新的管理概念.每個本版都對內存管理進行了簡化:1.8i->9i:PGA的自動管理;2.9i->10g:SGA的自動管理;3 ...

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

最新文章

  1. SPI时钟极性、时钟相位及片选
  2. springboot2处理跨域
  3. Shell-06 函数
  4. OC对象的本质及分类
  5. Spring Bean的作用域及生命周期
  6. vc设置按钮文字颜色
  7. php中生成标准uuid(guid)的方法
  8. 玩转小程序转发——小程序探索
  9. 笔记本电脑处理器_高通提示低成本5G芯片更强大的笔记本电脑处理器
  10. (转) RabbitMQ学习之延时队列
  11. Android使用帧动画解决内存溢出问题
  12. caxa线切割怎样画链轮_在CAXA中怎么画链轮啊?
  13. GIF图像格式简介(87a和89a)(C语言生成GIF图像)
  14. 前后端分离项目,有什么优缺点
  15. 【GPU精粹与Shader编程】(四) 《GPU Gems 2》全书核心内容提炼总结 · 上篇
  16. STM32F411RET6的定时器和STM32F103ZET6定时器比较
  17. Dojo学习笔记一: 认识Dojo
  18. 使用URLRewriter进行URL重写失效
  19. 看别人分享的图片停不下来,还有这么有意思的网站?
  20. 概率论阶段测评计算机,概率论与数理统计(计算机)

热门文章

  1. 计算机职高会考知识,高职考试语文基础知识
  2. Ubuntu下载与安装
  3. ASML EUV 光源的极限工程
  4. 黑暗料理-花菜+肉丝+木耳
  5. flutter图片识别_想在 flutter 中提取图片颜色?试试 color_thief_flutter
  6. python羊车门问题的正确解答
  7. java合并word文档和添加分节符
  8. 什么是Windows驱动程序?
  9. [4G5G专题-38]:物理层- LTE/NR下行公共控制信道PDCCH与其承载的内容下行控制信息格式DCI
  10. 转:Django新手需要注意的10个要点