- 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」くんを参考にさせていただきました。
|