Contents
- 1 pythonファイルの PSでの実行方法
- 2 ターミナルはCtrl + ’じゃなくてCtrl + @ではないか?
- 3 PowerShellと cmdって同じじゃないのですか?
- 4 VS Code の ▶ RunだとCDの必要がないのはなぜですか?
- 5 VS Codeで実行時のカレントディレクトリを固定する方法
pythonファイルの PSでの実行方法
1️⃣ PowerShell を開く
PowerShell の開き方(Windows)
方法① スタートメニューから
最速の PowerShell(Windows)起動方法
✅ 方法①(最速・おすすめ)
スタートボタンを右クリック
「ターミナル」 を選択
👉 最近の Windows(11 / 更新済み10)では
Windows ターミナルが開き、既定で PowerShell になります。
補足(知っておくと便利)
ターミナル=PowerShell?ほぼ Yes
ターミナルは「入れ物」
中身として PowerShell / コマンドプロンプト / WSL を切り替え可能
右上の ▼ から PowerShell が選べます。
他の起動方法(参考)
方法②
Win + X → ターミナル
方法③
Win + R → powershell → Enter
方法② キーボード操作(速い)
-
Windowsキー + X
-
Windows Terminal または PowerShell を選択
方法③ エクスプローラーから
-
フォルダを開く
-
アドレスバーに powershell と入力
-
Enter を押す(そのフォルダで起動)
方法④ VS Code
-
VS Code を開く
-
Ctrl + `(バッククォート)
-
ターミナルが PowerShell で開く
-
スタート →「PowerShell」
-
または VS Code のターミナル(PowerShell)
2️⃣ .py ファイルがあるフォルダへ移動
cd C:\Users\DELL\py3step\3step\0302
※ フォルダ名に合わせて変更してください
3️⃣ Python で実行
python basic.py
または(Python 3 が複数ある場合)
py basic.py
python が見つからない場合
❌ エラー例
python : 用語 'python' は認識されません
✅ 対処法(2つ)
方法A:py を使う(Windows標準)
py basic.py
👉 いちばん安定・おすすめ
方法B:Pythonのフルパス指定
& "C:\Users\DELL\AppData\Local\Programs\Python\Python313\python.exe" basic.py
※ & は PowerShell 特有の「実行」記号です
フルパスで .py を直接実行できない理由
❌ これはダメ
/basic.py
なぜ?
PowerShell では
.exe
.ps1
しか「直接実行」できません。
👉 .py は Python に渡して実行するファイル です。
VS Code の「Run」と PowerShell の違い
| 実行方法 | 実態 |
|---|---|
| VS Code の ▶ Run | 内部で python.exe ファイル.py |
| PowerShell | 自分で明示的に実行 |
だから Runで動くのにPSで動かないことがよくあります。
カレントフォルダの確認(超重要)
pwd
ls
-
basic.pyが 表示されるか確認してください -
見えなければ
cdが間違っています
PowerShellやターミナルの超基本コマンドですね
pwd とは?
今いるフォルダ(カレントディレクトリ)を表示します。
pwd
例(PowerShell):
Path
----
C:\Users\DELL\Documents
👉「今どこにいる?」を確認するコマンド。
ls とは?
フォルダの中身(ファイル・フォルダ一覧)を表示します。
ls
例:
Mode LastWriteTime Length Name
—- ————- —— —-
d—- 2024/01/10 src
-a— 2024/01/10 1234 test.py
つまり test.py の行はこういう意味
「2024/01/10 に更新された
サイズ 1234バイトの
通常の Python ファイル」
補足(PowerShellなら)
PowerShellでは実は👇も同じ意味です。
| コマンド | 意味 |
|---|---|
| pwd | Get-Location |
| ls | Get-ChildItem |
| cd | Set-Location |
Linux / macOS / PowerShell で共通なので覚えると便利です
よくある失敗まとめ
❌ パスが違う
python basic.py # ファイルがない場所で実行
❌ 拡張子を打ち忘れる
python basic # ←ダメ
❌ 全角スペースが混じる
python basic.py # ←見た目同じでもエラー
まず覚える「黄金パターン」
cd フォルダ
py ファイル名.py
これだけで 9割OK です。
動作確認用ミニサンプル
# test.py
print("PowerShellから実行できました!")
input("Enterで終了")
py test.py
ひとこと
GUI(Tk / PySimpleGUI / TkEasyGUI)は
PowerShellから実行する方がエラーが分かりやすいです。
また詰まったら
「このコマンドを打ったら、こう出た」
をそのまま貼ってください。
一緒に1行ずつ確認しますよ 💪
ターミナルはCtrl + ’じゃなくてCtrl + @ではないか?
結論まとめ
-
英語配列キーボード
👉 `Ctrl + “(バッククォート) -
日本語配列(JIS)キーボード
👉Ctrl + @← これが正解 ✅
VS Code の既定ショートカットは
Ctrl + `(バッククォート)
でも…
日本語配列キーボードでは
-
バッククォート
`が @キーと同じ物理キー -
そのため 表示は @ でも、内部的には ` として扱われる
結果として:
| キーボード | 押すキー |
|---|---|
| 英語配列 | Ctrl + ` |
| 日本語配列 | Ctrl + @ |
VS Code での正式名称
-
コマンド名:「統合ターミナルの表示切替」
-
デフォルト割り当て:`Ctrl + “
日本語キーボードでは @キーに割り当たっているだけです。
うまく開かないときの確認方法
-
VS Codeで
Ctrl + Shift + P -
terminalと入力 -
「ターミナル: 新しい統合ターミナル」 を選択
→ これで必ず開きます。
PowerShellと cmdって同じじゃないのですか?
見た目や用途が似ているので混同しやすいんですよね。
まず結論を一言で
-
cmd=昔からある「コマンドプロンプト」
-
PowerShell=より高機能な新世代のシェル
👉 互換性はあるが、別物です。
cmd(コマンドプロンプト)とは
特徴
-
非常に古い(MS-DOS時代の流れ)
-
文字列ベースの処理
-
シンプルで覚えやすい
よく使うコマンド
dir
cd
copy
del
向いている用途
-
簡単な操作
-
古いバッチファイル(.bat)
PowerShell とは
特徴
-
cmdの上位互換的存在
-
文字列ではなく「オブジェクト」を扱う
-
.NET / Windows管理向き
-
Linux / macOSでも使える(PowerShell 7)
例
Get-ChildItem
Set-Location
Copy-Item
※ dir や cd も実は PowerShellの別名(エイリアス)
重要な違い(ここが本質)
cmd
dir → 文字の一覧
PowerShell
Get-ChildItem → ファイル情報のオブジェクト
だから PowerShell ではこんなことができる👇
Get-ChildItem | Where-Object Length -gt 1000
(サイズが1000バイト以上のファイルだけ表示)
cmdではかなり面倒です。
互換性について
| 操作 | cmd | PowerShell |
|---|---|---|
| dir / cd | ○ | ○ |
| .bat実行 | ○ | ○ |
| パイプで高度処理 | × | ◎ |
| Windows管理 | △ | ◎ |
👉 Python実行はどちらでもOK
Python学習者目線のおすすめ
-
最初は PowerShellでOK
-
VS Codeのターミナルも標準は PowerShell
-
cmdを覚える必要はほぼなし
超短くまとめ
cmd は「昔の道具」
PowerShell は「進化版・本命」
Pythonやるなら PowerShellだけで十分
VS Code の ▶ RunだとCDの必要がないのはなぜですか?
ここが分かると **「Run と ターミナル実行の違い」**が一気につながります。
結論(超要約)
▶ Run は、最初からその Python ファイルのあるフォルダで実行しているから
👉 だから cd が不要です。
もう少し正確に言うと
▶ Run(VS Code の実行ボタン)
VS Code は内部でこうしています👇
-
実行対象の .py ファイルの場所を自動で判断
-
そのフォルダを「カレントディレクトリ」に設定
-
そこから
python ファイル名.pyを実行
つまり、裏でこういうことをやっています:
cd C:\Users\DELL\pydesktop\src\ch5
python chatgpt_api_test.py
これを VS Code が自動でやってくれている んです。
ターミナルから直接実行すると?
PowerShell はこう考えます👇
PS C:\Users\DELL>
python chatgpt_api_test.py
👉 「今いる場所(C:\Users\DELL)」にそのファイルは無いよ?」
→ エラー
だから自分で
cd C:\Users\DELL\pydesktop\src\ch5
が必要になるわけです。
ここで重要なキーワード
カレントディレクトリ(current directory)
-
プログラム実行時の「基準となるフォルダ」
-
pwd(PowerShellではGet-Location)で確認できる
pwd
なぜ初心者が混乱しやすいか
-
▶ Run:場所を意識しなくていい
-
ターミナル:場所を自分で管理する必要がある
👉 「Runでは動くのに、ターミナルだと動かない」現象の正体です。
Pythonファイルから見た違い
たとえばこんなコード:
open("data.txt")
| 実行方法 | data.txt の場所 |
|---|---|
| ▶ Run | .pyと同じフォルダ |
| ターミナル | cdしたフォルダ |
だから結論
▶ Run は
「cd → python 実行」を自動でやってくれる親切機能
慣れてきたら
-
▶ Run = 楽
-
ターミナル = 実力
という使い分けが一番です 😊
次に知ると超楽になるのは
**「VS Codeで実行時のカレントディレクトリを固定する方法」**ですが、聞きます?
VS Codeで実行時のカレントディレクトリを固定する方法
一番おすすめ:.vscode/launch.json を使う方法
▶ Run(デバッグ実行)の 基準フォルダを明示的に指定します。
手順①:launch.json を作る
-
VS Code 左の ▶🐞(実行とデバッグ)をクリック
-
「launch.json を作成」
-
Python を選択
-
「現在のファイル」 を選択
すると、こんなファイルができます👇
.vscode/launch.json
手順②:cwd(カレントディレクトリ)を指定する
中身をこう修正します👇
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${fileDirname}"
}
]
}
🔑 ポイント
"cwd": "${fileDirname}"
👉 実行する .py ファイルがあるフォルダを常に基準にする
これで何が嬉しいか
Before(設定なし)
-
▶ Run:動く
-
ターミナル:cd必須
-
ファイルパスで混乱 🤯
After(cwd指定)
-
▶ Run:常に同じ場所
-
相対パスが安定
-
本・サンプルコード通りに動く 📘
もう1つ便利な指定(プロジェクト固定)
プロジェクト直下を基準にしたい場合:
"cwd": "${workspaceFolder}"
例:
pydesktop/
├─ src/
│ └─ ch5/
│ └─ test.py
├─ data/
│ └─ input.txt
👉 data/input.txt をどこからでも読める
Runボタン派の人への結論
「Runは楽だけど、cwdを意識しないと事故る」
launch.json を1回書けば、
Runもターミナルも「同じ世界」になる



コメント