Python

「OSError: Pillow was built without XCB support」のエラーが出た時の対処法

「OSError: Pillow was built without XCB support」のエラーが出た時の対処法
前回、Pythonでデスクトップのスクリーンショットを撮る方法をまとめました。
それを踏まえてコードを書いていたら、「OSError: Pillow was built without XCB support」というエラーに遭遇。ナンデダロウ?
ライブラリ「Pillow」をインストール済みなのに、出てきたこのエラー。その対処法をまとめます。

 

原因は?

ImageGrab.grab()で範囲指定する時、「bbox=」の書き方を間違うとこのエラーが出ます。

from PIL import ImageGrab
 
a = ImageGrab.grab(100,100,200,200) # エラーになる
a.show()

このコードは、「bbox=」の座標に「()」をつけ忘れたため、「include_layered_windows」以下の引数に数字を指定することとなり、エラーになります。

 

対処法は?

「bbox=」を正しく指定します。

from PIL import ImageGrab
 
a = ImageGrab.grab((100,100,200,200))
a.show()

こうすれば、何の問題も起こりません。

 

まとめ

「OSError: Pillow was built without XCB support」が出る原因は、「ImageGrab.grab()」の引数指定が間違っている時です。
1人でプログラミングをしていると、盲点に気づけないことも多いです。
初歩的なミス、と言われれば、それまでですけどね。反省です。

-Python
-, , , , , , ,

© 2022 オン香講師の将棋教室以外の話