Python+Kivyトラブル

kivyのデバッグエラーメッセージと警告メッセージ

この記事は約4分で読めます。

kivyの実行時のエラーメッセージと警告メッセージの対策方法をまとめました。VSCodeで出力されるエラーメッセージなります。

AttributeError

kivy.properties.ObservableDict.getattr
AttributeError: ‘super’ object has no attribute ‘getattr‘. Did you mean: ‘setattr‘?

多くはid関連のエラーになります。

  1. インスタンスが生成されていない状態で、idsを参照している。
  2. idのスコープ外を参照している。
  3. id名が一致していない、設定されていない。
  4. idsの名前空間が間違えている。

BuilderException

in create_handler
raise BuilderException(rule.ctx, rule.line,

kvファイルのルール構文が合っていない、構文を間違えている。

AssertionError

assert rule not in self.rulectx

kvファイルのルールの構文が合っていない。ルールとして存在しない構文で書かれている。

ParserException

Invalid indentation, must be a multiple of 8 spaces

インデントの数が合っていない。正しい位置にインデントされていない。


Only one root object is allowed by .kv

kvファイルのインデントが合っていない。インデントがないため複数のルートルールが書かれていると認識されている。


Invalid data after declaration

インデントが正しくない。もしくはidを定義する箇所が間違えている。idはプロパティの最初に宣言します。

 >>   11:    id: popup
      12:    auto_dismiss: False
      13:    title: "Test popup"
 ...
 Invalid data after declaration

SyntaxError

SyntaxError: unterminated string literal

構文エラー。引用符がない、または未完成。文字列型は一重引用符か二重引用符で囲む

raise Exception

in template
raise Exception(‘Unknown <%s> template name’ % name)
Exception: Unknown template name

テンプレートを使用してBuilder.template()でインスタンスの生成を行っていると思われるが、テンプレート機能はKivy1.7.0で非推奨になっているため、Builder.template()を使うとエラーが発生します。テンプレートの代わりに動的クラス(Dynamic Classes)とFactory()を使用することをお勧めします。

Warning

TIFFReadDirectory: Warning, Unknown field with tag 20740 (0x5104) encountered.

TIFF形式の画像を使用するとこの警告メッセージが表示される場合があります。この警告メッセージは、TIFFファイルに含まれている情報(タグ)に標準仕様にはない拡張情報が含まれているために発生します。画像の読み込みや表示に影響はありません。


[WARNING] Both Window.minimum_width and Window.minimum_height must be bigger than 0 for the size restriction to take effect.

ウィンドウの最小サイズを設定すると表示される警告メッセージです。Window.minimum_widthとWindow.minimum_heightの両方を定義しないと機能しません。これら両方を設定していても表示されるメッセージです。


Comment

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