Phatch не загружается (Kubuntu 17.04)
Надеюсь , кто-то может помочь.
У меня на ноутбуке был установлен MintKDE, и, насколько я помню, Phatch не загружался - вместо этого я просто получил логотип, но сама программа так и не запустилась. Я применил изменения, подробно изложенные здесь - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811184 - и тогда это сработало.
Я недавно сменил ОС на Kubuntu, и теперь Phatch не загружается - симптомы те же - я получаю логотип Phatch, но он никогда не запускается. Я удалил его, переустановил и попытался внести изменения как подробно, но он все равно не загрузится.
Интересно, кто-нибудь может помочь? Phatch экономит мне много времени, когда он работает!
Благодарю.
Kubuntu 17.04 Plasma 5.9.4 KDE Framweworks 5.31.0 Ядро 4.10.0-22 универсальная ОС Тип 64 бит
1 ответ
У меня была та же проблема, и это исправление помогло:
В файле
/usr/share/phatch/phatch/lib/pyWx/wxPil.py
Я изменил словаfromstring
а такжеtostring
вfrombytes
а такжеtobytes
,Теперь кажется, что Phatch работает с последними
python-imaging
а такжеpython-pil
библиотеки в сид.Ниже мой новый
/usr/share/phatch/phatch/lib/pyWx/wxPil.py
:# Copyright (C) 2007-2009 www.stani.be # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see http://www.gnu.org/licenses/ # Follows PEP8 import Image import wx def pil_wxImage(image): if image.mode == 'P': image = image.convert('RGBA') if image.mode == 'RGBA': wx_image = wx.EmptyImage(*image.size) wx_image.SetData(image.convert("RGB").tobytes()) wx_image.InitAlpha() wx_image.SetAlphaData( image.convert("RGBA").split()[-1].tobytes()) else: wx_image = wx.EmptyImage(*image.size) new_image = image.convert('RGB') data = new_image.tobytes() wx_image.SetData(data) return wx_image def pil_wxBitmap(image): return wx.BitmapFromImage(pil_wxImage(image)) def wxImage_pil(wx_image): size = wx_image.GetSize() image = Image.new('RGB', size) image.frombytes(wx_image.GetData()) if wx_image.HasAlpha(): alpha = Image.new('L', size) wx_alpha = wx_image.GetAlphaData() alpha.frombytes(wx_alpha) image = image.convert('RGBA') image.putalpha(alpha) return image def wxBitmap_pil(wx_bitmap): return wxImage_pil(wx.ImageFromBitmap(wx_bitmap))