qtile - 共通事項 - 定義 - チェック


クラウディア 


1. 概要
2. コマンド
3. さらに
4. 参考サイト

1. 概要

 「CachyOS」で、「config.py」を書き換えても、動作に違いがなかったので。  調べてみたら。

~/.local/share/qtile/qtile.log
 にエラーが出ていました。  エラーに関して、「ChatGPT」くんに尋ねたら、回答とともに、「config.py」の内容をチェックする方法を教えてくれました。  今まで(2025年9月12日)、「config.py」を変更したら、いちかばちかでログインし直していたのですが。  内容をチェックする方法があるのは、ありがたい。

2. コマンド

 コマンドは、ずばり。

qtile check
 です。  異常があれば。

Checking Qtile config at: /home/hogehoge/.config/qtile/config.py
Checking if config is valid python...
mypy was not found in PATH. Please install it, add to PATH and try again.
stubtest was not found in PATH. Please install it, add to PATH and try again.
Missing dependencies. Skipping type checking.
hogehoge@cachyos250824 /home/hogehoge $ vi ~/.config/qtile/config.py
hogehoge@cachyos250824 /home/hogehoge $ qtile check
Checking Qtile config at: /home/hogehoge/.config/qtile/config.py
Checking if config is valid python...
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/libqtile/scripts/check.py", line 122, in check_config
    config.load()
    ~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/libqtile/confreader.py", line 136, in load
    config = importlib.import_module(name)
  File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 1026, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/home/hogehoge/.config/qtile/config.py", line 278, in <module>
    widget.CurrentLayoutIcon(
    ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/libqtile/utils.py", line 275, in __getattr__
    raise AttributeError
AttributeError: . Did you mean: 'CurrentLayout'?

Errors found in config. Exiting check.
 てな感じで、エラーを教えてくれます。  この場合は、「CurrentLayoutIcon」ちゅうのが存在しないということでした。  該当行をコメントアウトして、逃げました。

3. さらに

 「config.py」にエラーがない状態になったと思って。

qtile check
 すると、こんなん出ます。

checking qtile config file /home/hogehoge/.config/qtile/config.py
stubtest not found, can't type check config file
install it and try again
mypy not found, can't type check config fileinstall it and try again
config file can be loaded by qtile
 「ChatGPT」くんに相談したら。
出ているのは「エラー」ではなく「警告」です。

 stubtest not found, can't type check config file
 mypy not found, can't type check config file

これは Qtile の qtile check が、Python の型チェック用ツール mypy と stubtest を見つけられなかった、というだけです。
設定ファイル自体は

 config file can be loaded by qtile

と出ているので 正常に読み込める状態 です。
 とあります。  なんとかしたい場合は、「mypy」というパッケージをインストールします。  「CachyOS」では、インストールできませんでした。  「FreeBSD」は、インストールできました。  「root」ユーザ権限で(バージョンが異なることがあるので注意)。

pkg install -y py311-mypy
 この後に「qtile check」を実行すると。

mypy インストール後は、下記になりました。

$ qtile check
checking qtile config file /home/hogehoge/.config/qtile/config.py
Success: no issues found in 1 module
Success: no issues found in 1 source file
config file type checking succeeded
config file can be loaded by qtile
 となりました。  「設定ファイルは正しく読み込めて型チェックも問題なし」ということだそうです。

4. 参考サイト

 本ページは、「ChatGPT」くんを参考にさせていただきました。

audiobook.jp
AbemaTV 無料体験