標籤:style http 使用 os io 2014 for re
ubuntu software-center 軟體中心今天突然發現打不開了,就是在啟動的過程中啟動一半就退出了,多次啟動無果。首先想到的辦法當然是最徹底的兩句話
sudo apt-get purge software-center
sudo apt-get install software-center
結果未果,啟動起來還是首先一個表單初始化
接著。。就直接關閉了。然後查看它的輸出資訊,發現原來是py輸出中文導致的,因為我們表單上有很多中文字型的組件需要載入,而python處理的時候有一個使用ascii編碼格式化字串的操作,所以就這一語言差異導致這個bug的產生。
產生所在地址/usr/share/software-center/softwarecenter/db/categories.py第269行的debug print
# debug printfor cat in categories: LOG.debug("%s %s %s" % (cat.name, cat.iconname,cat.query))
為瞭解決這個問題,可以將值為中文的字串 cat.name給格式成utf-8,我這裡就直接將LOG.debug注釋掉了
# debug printtry:for cat in categories:pass #LOG.debug("%s %s %s" % (cat.name, cat.iconname, cat.query))except Exception as error:print errorexit(0)
然後儲存指令碼,啟動software-center 正常啟動。
PS:本來標題叫做ubuntu software-center的bug,可是當我手賤地開啟另外一台裝有ubuntu14.04的機器的時候,赫然發現它的debug print是這樣寫的
# debug print for cat in categories: LOG.debug("%s %s %s" % (cat.name.decode(‘utf8‘),cat.iconname,cat.query))
看來這個bug已經有人報道了,不過現在用12.04以及以前版本的人也是大有人在,希望能協助遇到相同問題的朋友。