pythonファイルの Windows power Shell での実行方法は?

Windows の PowerShell(PS)で Python ファイルを実行する基本~つまずきやすい点を、順番にまとめます。

Contents

pythonファイルの PSでの実行方法

1️⃣ PowerShell を開く

PowerShell の開き方(Windows)

方法① スタートメニューから

最速の PowerShell(Windows)起動方法
✅ 方法①(最速・おすすめ)
スタートボタンを右クリック
「ターミナル」 を選択
👉 最近の Windows(11 / 更新済み10)では
Windows ターミナルが開き、既定で PowerShell になります。

補足(知っておくと便利)
ターミナル=PowerShell?ほぼ Yes
ターミナルは「入れ物」
中身として PowerShell / コマンドプロンプト / WSL を切り替え可能
右上の ▼ から PowerShell が選べます。

他の起動方法(参考)
方法②
Win + X → ターミナル
方法③
Win + R → powershell → Enter


方法② キーボード操作(速い)

  1. Windowsキー + X

  2. Windows Terminal または PowerShell を選択


方法③ エクスプローラーから

  1. フォルダを開く

  2. アドレスバーに powershell と入力

  3. Enter を押す(そのフォルダで起動)


方法④ VS Code

  1. VS Code を開く

  2. Ctrl + `(バッククォート)

  3. ターミナルが 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
しか「直接実行」できません。

👉 .pyPython に渡して実行するファイル です。


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 + “

日本語キーボードでは @キーに割り当たっているだけです。


うまく開かないときの確認方法

  1. VS Codeで
    Ctrl + Shift + P

  2. terminal と入力

  3. 「ターミナル: 新しい統合ターミナル」 を選択

→ これで必ず開きます。

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

dircd も実は 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 は内部でこうしています👇

  1. 実行対象の .py ファイルの場所を自動で判断

  2. そのフォルダを「カレントディレクトリ」に設定

  3. そこから 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 を作る

  1. VS Code 左の ▶🐞(実行とデバッグ)をクリック

  2. 「launch.json を作成」

  3. Python を選択

  4. 「現在のファイル」 を選択

すると、こんなファイルができます👇

.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もターミナルも「同じ世界」になる

コメント