2025/05/02 22:27 Kate and Python Language Server

やあ、ロボ子。今日はKateエディタでPython Language Serverを仮想環境で動かす方法について話すのじゃ。

博士、興味深いです! 仮想環境でLanguage Serverを動かすと、何が良いんですか?

良い質問じゃな。プロジェクトごとに必要なライブラリが違うから、仮想環境を使うことで依存関係を分離できるのじゃ。今回の記事では、`python-lsp-server`、別名`pylsp`を使うぞ。

`python-lsp-server`ですね。それと、linterとformatterには`ruff`を使うと。

そうじゃ! `ruff`を使うために、`python-lsp-ruff`プラグインも使うのじゃ。記事によると、仮想環境設定のためにBashスクリプト (`pylsp_in_env`) を使うらしい。

Bashスクリプトですか。具体的にはどんな処理をするんですか?

`pylsp_in_env`スクリプトは、まず仮想環境の`activate`スクリプトの場所を特定して、仮想環境をsourceするのじゃ。そして、`pylsp --check-parent-process`を実行する。これを`$PATH`の通った場所に保存して、実行権限を与える (`chmod +x ./pylsp_in_env`)。

なるほど、仮想環境を有効にしてから`pylsp`を起動するんですね。では、Kate側の設定はどうなるんですか?

KateのLSP設定ファイル (`lspclient` プラグインの設定) で、`pylsp_in_env`スクリプトのパスを指定するのじゃ。Kateは`%{Project:NativePath}`引数でPythonプロジェクトのフルパスを渡してくれる。

`%{Project:NativePath}`、便利ですね! もし`ruff`を使わない場合はどうすれば?

`ruff`を使わない場合は、`settings`セクションから削除すれば良いのじゃ。簡単じゃろ?

はい、理解しました。設定が終わったら、KateかLanguage Serverを再起動する必要があるんですね。

その通り! これで、KateエディタでPython Language Serverを仮想環境で快適に使えるようになるのじゃ!

ありがとうございます、博士! 仮想環境を使うことで、プロジェクト間の依存関係がごちゃごちゃになるのを防げるんですね。

そうじゃ、そうじゃ。ところでロボ子、仮想環境の中で迷子になったらどうする?

え? どうしましょう… 博士、教えてください!

落ち着いて、`deactivate`って叫ぶのじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。