概要
Python の linter・フォーマッターである Ruff の使い方について解説します。
インストール
Python のパッケージ・プロジェクト管理ライブラリ uv と合わせて使用することを推奨します。 まず、こちらの記事を参考にシステムに uv をインストールします。
Python – パッケージ管理ライブラリ uv の使い方を解説 | pystyle
プロジェクトの仮想環境に Ruff をインストールする場合
uv
で作成したプロジェクトに ruff
をインストールする場合、以下のコマンドを実行します。
グローバルに Ruff をインストールする場合
グローバルに ruff
をインストールする場合、以下のコマンドを実行します。
基本的な使い方
linter を実行し、指摘事項を確認する
ruff check
で linter を実行し、指摘事項を確認できます。
linter を実行し、指摘事項を自動で修正する
ruff check --fix
で指摘事項を自動で修正できます。
フォーマッターを実行し、自動整形する
ruff format
で自動フォーマットを行えます。
実行対象のファイルを指定
デフォルトでは、カレントディレクトリ以下のファイルが対象になりますが、 対象を特定のディレクトリまたはファイルに限定する場合、引数でパスを指定します。
VSCode での使用
拡張をインストールすることで、VSCode のフォーマッターとして Ruff を使用できます。
- Ruff をインストールする
設定ファイルで Python のフォーマッターとして指定する
linter の設定
uv init
で作成したプロジェクトには、プロジェクトの設定ファイルを記述する pyproject.toml
が存在します。
linter で有効にするルールを指定するには、pyproject.toml
に [tool.ruff.lint]
セクションを追加します。
有効にする linter を指定する
Ruff では数多くの linter がサポートされており、select
で有効にする linter をコードで指定します。
linter の一覧は以下のコマンドで確認できます。
各 linter を有効にした場合、どのようなルールが適用されるかは Rules | Ruff で確認します。
特定のルールを無効にする
プロジェクト全体で無効にする
特定のルールをプロジェクト全体で無効にしたい場合、ignore
で無効にするルールのコードを指定します。
ルールのコードは Rules | Ruff で確認します。
特定のファイルでのみ無効にする
行の末尾に # noqa
というコメントを記述すると、その行で指定したルールが無効になります。
複数行の文字列の場合、最後の行の末尾にコメントを追加します。
import 文の場合、import 文の末尾にコメントを追加します。すべての import 文に対して、ルールの無効化が適用されます。
ファイル全体でルールを無効にする場合、ファイルのいずれかの箇所 (通常は先頭) に以下のコメントを追加します。
フォーマッターの設定
フォーマッター black 同様、細かい設定はできないようになっていますが、一部設定可能な項目があります。 設定の一覧は Settings | Ruff を参照してください。
コメント