Open5
VSCode の設定(Python用)
前提
- パッケージ/プロジェクトの管理にはPoetryを使用する。
- 仮想環境は In-Projectで .venv に作成する。
- ワークスペースのルートに .env ファイルを作成し、環境変数をセットする
- .envファイルは .ignore で無視リストに加えておく。これでAPI_KEYなどを.envに分離できる
.vscode/settings.json
{
"liveServer.settings.root": "/docs/_build/html",
"python.analysis.typeCheckingMode": "strict",
"python.analysis.autoImportCompletions": true,
"python.envFile": "${workspaceFolder}/.env",
"python.analysis.extraPaths": [
"${workspaceFolder}/src"
],
"python.analysis.diagnosticMode": "workspace",
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/Scripts/python",
"files.exclude": {
"**/__pycache__": true,
"**/*.pyc": true
}
}
.env
PYTHONPATH=./src
pyproject.toml
[tool.poetry]
name = "Project name"
version = "0.1.0"
description = "Project description"
authors = ["Your Name <your.email@example.com>"]
readme = "README.md"
packages = [
{ include = "src", from = "." }
]
[tool.poetry.dependencies]
python = ">=3.12,<3.14"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
project-root/
├─ .vscode/
│ └─ settings.json
│
├─ .env # python.envFile で指定
│
├─ .venv/
│ └─ Scripts/
│ └─ python # python.defaultInterpreterPath で指定される仮想環境Python実行ファイル
│
├─ docs/
│ └─ _build/
│ └─ html/ # liveServer.settings.root で指定されたドキュメントビルド成果物ディレクトリ(Sphinx想定)
│
└─ src/ # python.analysis.extraPaths に指定されるソースコード配置ディレクトリ
├─ __init__.py
├─ main.py
└─ ... (その他のPythonファイル)
python.defaultInterpreterPath の説明
Python settings reference
.venv を in-projectにするために以下の設定を追加
project.toml
[virtualenvs]
in-project = true
Userディレクトリ以下にvenvを作成してしまった場合の対応
環境を削除
poetry env remove python
poetry cache clear . --all
in-project に設定して環境を作成する
pyproject.toml の記述を変更するだけでは設定が反映されない症状が発生した。
コマンドで設定を変更してpoetry insall
を意図したとおりにin-projectで.venvが作成された。
(もしかしたらシェルやIDEを再起動すれば良かったのかもしれない)
poetry config virtualenvs.in-project true
poetry install
状態の確認
poetry env info