poetry + pyenv
-----------------
2024/10/13 追記
pythonのインストールからパッケージ管理まで全部これひとつでできます。
さらにpoetryよりも高速に使用できます。使わない手はありません。
以降駄文
-----------------
大変不本意ながら python を使う場面があります
poetry でパッケージ管理(npm みたいなもの)を行います
pyenv でpythonのバージョン管理を行います
初期化
$ pyenv local 3.11.0
python のバージョンを選択します。globalで設定されているもので良いなら特に必要ないです。
$ poetry init
色々聞かれますが全部Enterでいいです。
Formatter・Linter
$ poetry add black mypy ruff --dev
black はフォーマッター、ruff はリンターかつフォーマッター、mypy で型チェック
vscode では Black Formatter、Ruff など拡張機能を使えば特に black mypy ruff などを入れる必要がないかもしれません。
設定のために poetry.toml で追記する内容を以下に示します。
code:poetry.toml
line-length = 120
python_version = "3.11"
no_strict_optional = true
ignore_missing_imports = true
check_untyped_defs = true
vscode で拡張機能を入れた際の設定は以下のようになります。
code: settings.json
{
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
"editor.formatOnSave": true,
"editor.defaultFormatter": "ms-python.black-formatter",
},
"ruff.enable": true,
"ruff.lint.run": "onSave",
"ruff.showNotifications": "always",
"python.analysis.typeCheckingMode": "strict",
}