開発したアプリなど一覧

pygame で遊んでたら sysfont.py でエラーが出た。

記事内にアフィリエイトリンクを含む場合があります

pygame をやろうとして python でゲームを作りますが何か?のページを参考にテキストを書き出したら、動くには動くんだけど以下のエラーが出た。なんだかむかつくので適当に対応。

/usr/lib/python2.6/dist-packages/pygame/sysfont.py:146: DeprecationWarning: os.popen3 is deprecated. Use the subprocess module. flin, flout, flerr = os.popen3('fc-list : file family style')

フォントのリストを flout に書き出してるんだけど、 os.popen3 が非推奨とされている様だ。fontなんてそうそう増えないので予めfontの一覧を作ってそれを読み込む事にする。

>>> fw = open('sysfont.list') >>> flin, flout, flerr = os.popen3('fc-list: file family style') >>> for i in flout: >>> fw.write(i)

これでフォントのリストができる。
あとは sysfont.py を書き換える。

$ sudo /usr/lib/python2.6/dist-packages/pygame/sysfont.py

def initsysfonts_unix(): fonts = {} #以下4行コメントアウト #try: # flin, flout, flerr = os.popen3('fc-list : file family style') #except: # return fonts

#以下2行追加 sysfont.list の場所は適当に。 f = open('/usr/lib/python2.6/dist-packages/pygame/sysfont.list') flout = f.readlines()

これでエラーは出なくなる。

ほんとは pygame.display.update() を書き忘れて表示されないのを、このエラーの所為だと勘違いして書き直してたんだけどね('`)

Sponsored Link

コメント

タイトルとURLをコピーしました