matplotlibで以下のエラーメッセージが出たのだが,内容や原因が全くわからなかったので状況をメモしておく.

2021-08-28 13:44:34.218 python3[29922:788064] _TIPropertyValueIsValid called with 4 on nil context!
2021-08-28 13:44:34.218 python3[29922:788064] imkxpc_getApplicationProperty:reply: called with incorrect property value 4, bailing.
2021-08-28 13:44:34.218 python3[29922:788064] Text input context does not respond to _valueForTIProperty:
2021-08-28 13:44:34.218 python3[29922:788064] _TIPropertyValueIsValid called with 4 on nil context!
2021-08-28 13:44:34.218 python3[29922:788064] imkxpc_getApplicationProperty:reply: called with incorrect property value 4, bailing.
2021-08-28 13:44:34.218 python3[29922:788064] Text input context does not respond to _valueForTIProperty:

環境

sw_vers
ProductName:	macOS
ProductVersion:	11.5.1
BuildVersion:	20G80

状況

  • plt.show()で表示したグラフにフォーカスを当てたり外したりするとこのメッセージが表示される.(以下のgif画像の通り)
  • 描画自体は自分の確認の限り問題ない.

error-messages-gif

原因

これはmatplotlibのWarningではなく,macのWarningのよう.

現に,Swiftでも同様のメッセージが表示されるそう.
https://stackoverflow.com/questions/64397364/macos-swift-app-imkxpc-getapplicationpropertyreply-called-with-incorrect-prop

入力ソースが原因のよう.

解決方法

英語の入力方式を「English - ABC」に変更すれば良い.

おそらく,JIS配列のキーボードでコードを書く人の多くはバックスラッシュを「¥」で入力できるようにするために「日本語 - ローマ字入力」にして,「半角英字」にチェックを入れていると思われる.

自分の設定はこんな感じ.「設定」>「キーボード」>「入力ソース」で確認できる. my-keybord-setting

このように入力ソースが英語じゃないことにより表示されているエラーメッセージらしい.

ただ,直接的な影響があるわけではない(ターミナルのログが流れてしまうという影響はあるが…)ので,簡単にバックスラッシュ入力ができる,「日本語 - ローマ字入力」の方がマシなのではないかと思う.

また,これは英語圏の人があまり出会わないエラーなのではないかと想像されるので改善されるまでは時間がかかりそう.(そもそも自分の確認した限り描画自体は正しく行われており,バグですらないため,改善されにくいと考える.)

参考