
副業でも本業でも、作業時間の半分は『環境と段取り』で削れます。
本記事は、次の4点を“コピペで導入できる”形で提供します。
対象読者:Pythonでデータ分析や自動化を行う初〜中級者。VSCodeを日常的に使いたい・チームで品質を揃えたい方向け。
この記事で身に付くこと
- 保存時に自動で整うVSCode環境(Black/Ruff/isort)
- ワンキーで回る一連実行(Format→Lint→Test→Report)
- 誰のPCでも同じ結果を出す再現性テンプレ(venv×pip-tools×pre-commit)
- Windows/Mac両対応のタスク/Makefileサンプル
>>Excel業務の自動化で月3万円:社内案件の作り方|“60分→10分”を商品化して社内受注する
>>データ可視化レポート納品の型:Tableau/Matplotlib|“図3点+結論1行+運用”で伝わる・続く・刺さる
>>【保存版】Python副業の始め方:月3〜10万円を目指す現実的ステップ
>>見積り・契約・著作権:トラブルを避ける基本知識|“スコープ×検収×知財”を先に決める
>>初案件はこの一通で決まる|返信率を上げる提案文テンプレ45選【コピペ可/検収基準・見積り付き】
時間が溶ける“3つのムダ”を断つ
現場でよく見かける非効率は、だいたい次の3つに集約されます。
- ムダ1:手で整える … フォーマット・インポート整理・警告潰しを毎回手作業。
- ムダ2:手で回す …
lint → test → reportを都度コマンドで3回実行。 - ムダ3:手で説明 … 環境差異で「動かない」→ 説明・修正工数が膨張。
対策は「保存で整う」「ワンキーで回る」「READMEで再現」の3点セット。
以下のテンプレをそのまま入れるだけでOKです。
セットアップ全体像(最短レシピ)
ここからは そのまま貼って動く設定 を順に示します。
必要に応じて自分のプロジェクトへ調整してください。
1) プロジェクト雛形を用意
ねらい:コード(src/)と検証(tests/)を分け、設定はリポジトリ直下に集約。どのPCでも迷わず開ける構成にします。
project_root/
.vscode/
src/
tests/
data/
reports/
README.md
requirements.in
Makefile
pyproject.toml # black/ruff/isort/pytest等の設定置き場
.pre-commit-config.yaml2) 仮想環境+依存管理(pip-tools)
ポイント:requirements.in に“望むライブラリ名”だけを書き、pip-compile で「解決済みの固定版(requirements.txt)」を自動生成します。これでメンバー全員が同じバージョンを使えます。
これでできること:環境差による「動かない」を防止。新メンバーも pip-sync 1発で同じ環境に。
# Windows/Mac共通(PowerShell/Bash)
python -m venv .venv
. .venv/Scripts/activate # Windows PowerShell
# source .venv/bin/activate # macOS/Linux
python -m pip install --upgrade pip pip-tools
# 依存は requirements.in に記述
cat > requirements.in << 'EOF'
black
ruff
isort
pytest
pandas
matplotlib
EOF
# 依存関係を解決して固定化
pip-compile -o requirements.txt requirements.in
# .venv を requirements.txt と完全同期
pip-sync requirements.txt
3) VSCode 拡張&保存時整形
目的:保存するたびに 自動で フォーマット・インポート整理・静的解析が走るようにします。手で整える作業をゼロに。
推奨拡張:Python、Pylance、Jupyter、Black Formatter(ms-python.black-formatter)、Ruff(charliermarsh.ruff)、GitLens、EditorConfig。
.vscode/settings.json(例)
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": { "source.organizeImports": true },
"python.testing.pytestEnabled": true,
"python.analysis.typeCheckingMode": "basic",
"[python]": { "editor.defaultFormatter": "ms-python.black-formatter" },
"ruff.lint.run": "onSave",
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true
}Windowsでパス解決に失敗する場合は、"python.defaultInterpreterPath" を .venv\\Scripts\\python.exe に明示指定してください。
補足:formatOnSave は保存のたびにBlackが実行され、codeActionsOnSave が インポート整頓(isort)を行います。ruff.lint.run は Ruff の静的解析を保存時に発火します。
4) pre-commit(保存漏れを防ぐ最終防壁)
役割:Git の commit直前に自動整形・チェック を走らせ、保存漏れやルール違反を未然に防ぎます。
.pre-commit-config.yaml(例)
repos:
- repo: https://github.com/psf/black
rev: 24.4.2
hooks: [{id: black}]
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.5.0
hooks: [{id: ruff}]
- repo: https://github.com/pycqa/isort
rev: 5.13.2
hooks: [{id: isort}]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- {id: end-of-file-fixer}
- {id: trailing-whitespace}インストール&有効化:
pip install pre-commit
pre-commit install # commit前に自動整形・静的解析なぜ効く? コードレビューで「末尾空白」や「改行が…」といったノイズ指摘が消え、本質的な議論だけに集中できます。
5) Makefile:一連実行の定番(Mac/WSL向け)
ねらい:make format・make test など 短いコマンド名 で一連の処理を呼べるようにします。
.PHONY: setup sync lint test format report run clean
PY?=.venv/bin/python
PIP?=.venv/bin/pip
setup:
$(PIP) install --upgrade pip pip-tools
pip-compile -o requirements.txt requirements.in
pip-sync requirements.txt
sync:
pip-sync requirements.txt
lint:
$(PY) -m ruff check src tests
$(PY) -m isort --check --diff src tests
format:
$(PY) -m isort src tests
$(PY) -m black src tests
test:
$(PY) -m pytest -q
report:
$(PY) -m src.report
run:
$(PY) -m src.main
clean:
rm -rf .pytest\_cache .ruff\_cache **pycache**使い方:
- 初回セットアップ:
make setup - 依存同期:
make sync - コード整形:
make format - 静的解析:
make lint - テスト:
make test - まとめて:
make format lint test
Windowsで make がない場合は、次章の VSCodeタスク で同等のことを実現できます。
6) VSCode タスク(Make不要でも回る)
目的:Tasks: Run Task から 一括実行(Format → Lint → Test)ができるようにする。
.vscode/tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Setup",
"type": "shell",
"command": "python -m pip install --upgrade pip pip-tools && pip-compile -o requirements.txt requirements.in && pip-sync requirements.txt"
},
{"label": "Lint", "type": "shell", "command": ".venv/bin/python -m ruff check src tests || .venv/Scripts/python -m ruff check src tests"},
{"label": "Format", "type": "shell", "command": ".venv/bin/python -m isort src tests && .venv/bin/python -m black src tests || .venv/Scripts/python -m isort src tests && .venv/Scripts/python -m black src tests"},
{"label": "Test", "type": "shell", "command": ".venv/bin/python -m pytest -q || .venv/Scripts/python -m pytest -q"},
{"label": "All", "dependsOrder": "sequence", "dependsOn": ["Format", "Lint", "Test"]}
]
}キーバインド例(keybindings.json)
[
{"key": "ctrl+shift+l", "command": "workbench.action.tasks.runTask", "args": "All"},
{"key": "ctrl+shift+s", "command": "workbench.action.files.saveAll"}
]動かし方:
- すべてのファイルを保存(
Ctrl/Cmd + Shift + S) Ctrl/Cmd + Shift + LでAllタスク実行 → Format → Lint → Test が順番に走ります。
7) デバッグ&ノートブック運用
目的:VSCodeのデバッガとJupyterを併用し、実験(notebooks)→関数化(src)→テスト(tests) の流れを定着させます。
.vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Run main",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/src/main.py",
"console": "integratedTerminal"
},
{
"name": "Python: Pytest",
"type": "python",
"request": "launch",
"module": "pytest",
"args": ["-q"],
"console": "integratedTerminal"
}
]
}Jupyterのコツ
notebooks/は 実験用、src/は 本番用。Notebookで得た知見は関数化してsrc/に移し、tests/で検証。- レポート出力は
jupyter nbconvert --to htmlで PDF 代替に。 - 前処理スクリプトは
src/に置き、Notebook から呼び出して一貫性を保つ。
“保存で整う”を保証する設定(pyproject.toml)
役割:Black / isort / Ruff / Pytest のルールを1か所に集約。誰が実行しても同じ結果に。
[tool.black]
line-length = 100
\[tool.isort]
profile = "black"
\[tool.pytest.ini\_options]
minversion = "7.0"
addopts = "-q"
\[tool.ruff]
line-length = 100
select = \["E","F","I","B"]初心者向けポイント:
line-lengthは折り返し位置。100にすると横に長すぎない、読みやすい幅に整います。selectはRuffがチェックするルール群。E(PEP8エラー)やF(未使用など)等を一括チェック。
さらに時短する“小ワザ集”
- テンプレ化:本リポジトリを GitHub の Template Repository にして、新規案件は「Use this template」で即作成。
- スニペット:テスト・ロギングの雛形を VSCode の User Snippets に登録。
- ターミナル分割:左で
pytest -f、右でruff --fixを常時実行。 - Diff駆動:
pytest -qの失敗から直す → 仕上げにAll実行でクリンナップ。 - 共通ロガー:
src/utils/logging.pyにロガー初期化を集約。 - Windows快適化:PowerShell プロファイルに
pc(pip-compile)、ps(pip-sync)等のエイリアス。
README雛形(コピペ可)
# プロジェクト名
## 目的/KPI
- 例:定例レポートの自動生成(所要60→10分)
## 環境
- Python 3.11(.venv)/Windows 11 or macOS 14
## セットアップ
- `python -m pip install --upgrade pip pip-tools`
- `pip-compile -o requirements.txt requirements.in && pip-sync requirements.txt`
## 開発
- VSCodeで `Tasks: Run Task -> All`(Format→Lint→Test)
## 納品物
- `reports/weekly_report.pdf`、`README.md`、`CHANGELOG.md`効果測定:.timebook/ に Before/After の所要時間を CSV で記録。短縮時間 × 人数 × 時給 で ROI を算出し、月次で共有。
トラブル対処の早見表
- VSCodeが .venv を認識しない →
Python: Select Interpreterで.venvを選択。 - Ruff が動かない → 拡張が入っているか、
ruff.lint.runがonSaveになっているか確認。 pip-compileが見つからない →.venvを有効化しているか確認 (. .venv/Scripts/activate/source .venv/bin/activate)。- Windowsでパスが通らない →
.venv\\Scripts\\python.exeを明示、タスクの||で代替パスをフォールバック。
伴走の提案:レビューが早い環境で“現場仕様”に
設定の詰めと自動化の型は、質問初動と差し戻しが速い環境ほど早く整います。無料カウンセリング/体験で、あなたの開発環境にMake/Tasks/pre-commitを落とし込み、“保存で整う・ワンキーで回る”まで仕上げましょう。
TechAcademy データサイエンスコース(受講料:174,600円~ ※更に割引あり)

株式会社キカガク AI人材長期育成コース(受講料:237,600円~)

まとめ:人ではなく道具にルールを任せる
- 保存で整う → 誰でも同じコード品質に。
- ワンキーで回る → レビュー前の“やり忘れ”を排除。
- 再現性テンプレ → 新メンバーも 10 分で参画可能。
このテンプレを導入すれば、レビュー指摘や差し戻しは目に見えて減り、「作る・試す・直す」の回転数が上がります。まずは自分の案件にそのまま入れて、今日から“手で整える時間”を捨てましょう。
この記事から次に読むべきもの(内部リンク)
-
-
Excel業務の自動化で月3万円:社内案件の作り方|“60分→10分”を商品化して社内受注する
毎週のExcel定型作業(集計・整形・レポート化)をPythonで自動化し、月3万円の運用費(または評価/手当)を安定的に社内受注するための実践ガイドです。鍵は以下の4点。 この記事は「業務棚卸し → ...
-
-
データ可視化レポート納品の型:Tableau/Matplotlib|“図3点+結論1行+運用”で伝わる・続く・刺さる
結論:レポートは「データ→図」ではなく「意思決定→図」の順で設計します。最短で伝わり、運用で“使い続けられる”型は次の4点です。 迷ったら「結論→推移→分解→構成→打ち手→運用」。これで会議は10分で ...
-
-
初案件はこの一通で決まる|返信率を上げる提案文テンプレ45選【コピペ可/検収基準・見積り付き】
初案件の提案、何を書けば“選ばれる”の? 長文は読まれないし、自己PRだけだと響かない…今すぐ使える“型”が欲しい! 提案は自己紹介ではなく、「相手のKPIを上げる約束」です。 本記事では、現場で磨い ...
-
-
単発を“毎月継続契約”に変える|週次10分レポートと改善バックログの型
単発納品を“毎月の継続契約(リテイナー)”に変えたい。結局、何から整えればいい? 毎週のレポート会って長くなりがち…。10分で意思決定まで持っていくコツは? 結論:リテイナー化の鍵は ①意思決定に直結 ...
-
-
【保存版】Python副業の始め方:月3〜10万円を目指す現実的ステップ
Pythonの副業って本当に稼げるの?どうやって最初の1円を作ればいい? 結論、月3〜10万円は“再現性のある型”で十分現実的です。やるべき順番とテンプレをこの記事に全部まとめました。 この記事で身に ...
最近のコメント