メモ:Windows×VS CodeでPython実行を固定する(.venv直呼びで迷子ゼロ)【番外編|環境編】

Python環境(Windows)

こんにちは。いーかです。

最初のうちは「文法」より先に、環境がズレて詰まることが多い。
この記事はそこを最短で潰して、次の「分析」へ進むための **番外編(環境編 / Phase0)**です。


✅いまの状況で選ぶ(最短)

  • .venv を作っただけ → **「直呼びで勝ち判定」**へ
  • VS Codeは新しいのに、ターミナルが古い(例:3.10) → **「ターミナルは直呼びが正規」**へ
  • Activate.ps1 がエラー(ExecutionPolicy) → **「直呼びで回避」**へ

30秒まとめ

  • 詰まりの原因はほぼ “別のPythonで動いてる”
  • 勝ち筋は .venv(仮想環境)を作って固定すること
  • PowerShellで Activate.ps1 がブロックされてもOK。.venv\Scripts\python.exe 直呼びなら迷子ゼロ

この記事の位置づけ(番外編?)

✅ **番外編(環境編 / Phase0)**です。
この1本を完成させておくと、今後どのシリーズでも「まずここ見て」で済む。


⚠ Pythonのバージョンは要確認(ここ大事)

この記事では例として Python 3.13 を使っていますが、読者の環境によって最適は変わります。

  • フェーズ1(標準ライブラリ中心)なら、3.10〜3.13でも学習自体は可能
  • ただしフェーズ2以降(pandas等)では、環境差が出ることがあるので **「自分のバージョンを確認して進める」**のが安全

👉 まずはこのあと紹介する 勝ち判定で「どのPythonで動いてるか」を確定させればOK。


ゴール(勝ち判定)

この2つが出たら勝ち:

  • sys.executable...\ .venv\Scripts\python.exe を指している
  • sys.version想定のバージョン(例:3.13.x など)になっている

✅実測ログの例(こうなればOK)

※この形になれば勝ち。パスや数字は人によって違ってOK。

version: 3.13.x ...
executable: D:\...\your_project\.venv\Scripts\python.exe
prefix: D:\...\your_project\.venv

最小コピペ(この3点セットだけで勝てる)

PowerShellで、作業フォルダ直下で:

py -3.13 -m venv .venv
.\.venv\Scripts\python.exe -c "import sys; print(sys.version); print(sys.executable)"
.\.venv\Scripts\python.exe check_python.py

もし py -3.13 が通らない場合は、py -0p で入っているバージョンを確認して、py -3.12 などに読み替えてOK。


最短手順(ここだけやればOK)

作業フォルダ例:D:\AI\Rblog

1) .venv を作る(例:3.13で作る)

py -3.13 -m venv .venv

✅ 成功するとフォルダ内に .venv ができます。


2) VS CodeでInterpreterを .venv にする

  1. VS Codeで作業フォルダ(例:D:\AI\Rblog)を開く
  2. Ctrl+Shift+PPython: Select Interpreter
  3. ...\Rblog\.venv\Scripts\python.exe を選ぶ
  4. 念のため:Ctrl+Shift+PDeveloper: Reload Window

3) 勝ち判定スクリプトを作る

ファイル名:check_python.py

# check_python.py
import platform
import sys

print("implementation:", platform.python_implementation())
print("version:", sys.version.replace("\n", " "))
print("executable:", sys.executable)
print("prefix:", sys.prefix)

✅直呼びで勝ち判定(ここが最強)

PowerShellで:

.\.venv\Scripts\python.exe check_python.py

✅ こうなれば勝ち:

  • executable:...\ .venv\Scripts\python.exe
  • prefix:...\ .venv

ターミナルは直呼びが正規(VS Codeの罠)

VS Codeには“実行ルート”が2つある:

  • 右上▶(Run):VS Codeが選んだInterpreterで動きがち
  • ターミナル python:WindowsのPATHのPython(古い3.10など)を呼びがち

だから ターミナルでは当面これが正規コマンド

.\.venv\Scripts\python.exe your_script.py

よくある詰まり(最短で戻す)

詰まりA:python -c ... が古いPythonを指す

確認:

python -c "import sys; print(sys.version); print(sys.executable)"

古いのが出ても焦らない。直呼びで勝つ:

.\.venv\Scripts\python.exe -c "import sys; print(sys.version); print(sys.executable)"

詰まりB:Activate.ps1 が動かない(ExecutionPolicy)

こういうエラーが出るやつ:

このシステムではスクリプトの実行が無効…

これは普通に起きる。対処は2択:

  • ✅おすすめ:直呼びで回避(恒久設定いらない)
  • 任意:ExecutionPolicyを調整(あとでやってOK)

このシリーズでは 直呼びを勝ち筋にします。


詰まりC:.venv を作ったのにバージョンが古い

.venv は「作った時のPython」で固定される。
あとから“変換”はできないので、作り直しが正解

Remove-Item -Recurse -Force .venv
py -3.13 -m venv .venv

pipの勝ち筋(別環境に入れない)

ライブラリはこの型で統一:

.\.venv\Scripts\python.exe -m pip install pandas

確認:

.\.venv\Scripts\python.exe -m pip --version

便利ワザ(長いのが嫌なら)

PowerShellのその場限りエイリアス(セッション中だけ):

Set-Alias pyv .\.venv\Scripts\python.exe

以後:

pyv check_python.py
pyv -m pip install pandas

ミニクイズ(答えは末尾)

Q1. .venv を作る一番のメリットは?
Q2. python が古いPythonを指しても、学習を止めなくていい理由は?
Q3. 勝ち判定に一番効く行はどれ?(version / executable / prefix)


今日の1アクション

これだけでOK:

  1. py -3.13 -m venv .venv
  2. .\.venv\Scripts\python.exe check_python.py
  3. executable/prefix.venv が出たら勝ち

次に読む(リンクは後で貼る)

  • リンク)Python分析フェーズ1(sales.csv)目次
  • (ここにリンク)第3回:条件文の型(if / elif / else)で割引ルール

出典枠

  • Windows + VS Code + venv の基本運用(一般的な手順)
    ※このページは「最短で迷子を消す」目的で、手順を実践ベースに再構成しています

ミニクイズ解答(ここにまとめます)

A1. プロジェクトごとに環境を分けて、依存関係の事故を防げる。
A2. ターミナルの python はPATHでズレやすいけど、.venv\Scripts\python.exe 直呼びならズレない。
A3. executable(ここが .venv を指していれば勝ちが確定しやすい)。


コメント

タイトルとURLをコピーしました