こんにちは。いーかです。
最初のうちは「文法」より先に、環境がズレて詰まることが多い。
この記事はそこを最短で潰して、次の「分析」へ進むための **番外編(環境編 / 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 にする
- VS Codeで作業フォルダ(例:
D:\AI\Rblog)を開く Ctrl+Shift+P→ Python: Select Interpreter...\Rblog\.venv\Scripts\python.exeを選ぶ- 念のため:
Ctrl+Shift+P→ Developer: 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.exeprefix:が...\ .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:
py -3.13 -m venv .venv.\.venv\Scripts\python.exe check_python.pyexecutable/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 を指していれば勝ちが確定しやすい)。


コメント